Synthesis failed for nodejs-security-center

Hello! Autosynth couldn't regenerate nodejs-security-center. :broken_heart:
Here's the output from running synth.py:
b'nthtool:Ensuring dependencies.\n2020-06-05 04:41:14,416 synthtool [DEBUG] > Cloning googleapis.\nDEBUG:synthtool:Cloning googleapis.\n2020-06-05 04:41:14,417 synthtool [DEBUG] > Using precloned repo /home/kbuilder/.cache/synthtool/googleapis\nDEBUG:synthtool:Using precloned repo /home/kbuilder/.cache/synthtool/googleapis\n2020-06-05 04:41:14,420 synthtool [DEBUG] > Pulling Docker image: gapic-generator-typescript:latest\nDEBUG:synthtool:Pulling Docker image: gapic-generator-typescript:latest\nlatest: Pulling from gapic-images/gapic-generator-typescript\nDigest: sha256:c9bc12024eddcfb94501627ff5b3ea302370995e9a2c9cde6b3317375d7e7b66\nStatus: Image is up to date for gcr.io/gapic-images/gapic-generator-typescript:latest\n2020-06-05 04:41:15,313 synthtool [DEBUG] > Generating code for: google/cloud/securitycenter/v1.\nDEBUG:synthtool:Generating code for: google/cloud/securitycenter/v1.\n2020-06-05 04:41:16,180 synthtool [DEBUG] > Wrote metadata to synth.metadata.\nDEBUG:synthtool:Wrote metadata to synth.metadata.\nTraceback (most recent call last):\n  File "/home/kbuilder/.pyenv/versions/3.6.9/lib/python3.6/runpy.py", line 193, in _run_module_as_main\n    "__main__", mod_spec)\n  File "/home/kbuilder/.pyenv/versions/3.6.9/lib/python3.6/runpy.py", line 85, in _run_code\n    exec(code, run_globals)\n  File "/tmpfs/src/github/synthtool/synthtool/__main__.py", line 102, in <module>\n    main()\n  File "/tmpfs/src/github/synthtool/env/lib/python3.6/site-packages/click/core.py", line 829, in __call__\n    return self.main(*args, **kwargs)\n  File "/tmpfs/src/github/synthtool/env/lib/python3.6/site-packages/click/core.py", line 782, in main\n    rv = self.invoke(ctx)\n  File "/tmpfs/src/github/synthtool/env/lib/python3.6/site-packages/click/core.py", line 1066, in invoke\n    return ctx.invoke(self.callback, **ctx.params)\n  File "/tmpfs/src/github/synthtool/env/lib/python3.6/site-packages/click/core.py", line 610, in invoke\n    return callback(*args, **kwargs)\n  File "/tmpfs/src/github/synthtool/synthtool/__main__.py", line 94, in main\n    spec.loader.exec_module(synth_module)  # type: ignore\n  File "<frozen importlib._bootstrap_external>", line 678, in exec_module\n  File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed\n  File "/home/kbuilder/.cache/synthtool/nodejs-security-center/synth.py", line 38, in <module>\n    version=version)\n  File "/tmpfs/src/github/synthtool/synthtool/gcp/gapic_microgenerator.py", line 66, in typescript_library\n    return self._generate_code(service, version, "typescript", **kwargs)\n  File "/tmpfs/src/github/synthtool/synthtool/gcp/gapic_microgenerator.py", line 195, in _generate_code\n    f"Code generation seemed to succeed, but {output_dir} is empty."\nRuntimeError: Code generation seemed to succeed, but /tmpfs/tmp/tmpu5nw0hnx is empty.\n2020-06-05 04:41:16,223 autosynth [ERROR] > Synthesis failed\n2020-06-05 04:41:16,224 autosynth [DEBUG] > Running: git reset --hard HEAD\nHEAD is now at 20e4b1e chore: update root proto namespace (#278)\n2020-06-05 04:41:16,230 autosynth [DEBUG] > Running: git checkout autosynth-self\nSwitched to branch \'autosynth-self\'\n2020-06-05 04:41:16,235 autosynth [ERROR] > Command \'[\'/tmpfs/src/github/synthtool/env/bin/python3\', \'-m\', \'synthtool\', \'--metadata\', \'synth.metadata\', \'synth.py\', \'--\']\' returned non-zero exit status 1.\n2020-06-05 04:41:16,378 autosynth [DEBUG] > Running: git checkout 20e4b1e59990902c7d48310fd452d8709d63743c\nNote: checking out \'20e4b1e59990902c7d48310fd452d8709d63743c\'.\n\nYou are in \'detached HEAD\' state. You can look around, make experimental\nchanges and commit them, and you can discard any commits you make in this\nstate without impacting any branches by performing another checkout.\n\nIf you want to create a new branch to retain commits you create, you may\ndo so (now or later) by using -b with the checkout command again. Example:\n\n  git checkout -b <new-branch-name>\n\nHEAD is now at 20e4b1e chore: update root proto namespace (#278)\n2020-06-05 04:41:16,383 autosynth [DEBUG] > Running: git checkout cd804bab06e46dd1a4f16c32155fd3cddb931b52\nPrevious HEAD position was 839fae42 Update documentation\nHEAD is now at cd804bab docs: cleaned docs for the Agents service and resource.\n2020-06-05 04:41:16,454 autosynth [DEBUG] > Running: git checkout d53a5b45c46920932dbe7d0a95e10d8b58933dae\nPrevious HEAD position was be74d3e build: do not fail builds on codecov errors (#528)\nHEAD is now at d53a5b4 docs: improve README (#600)\n2020-06-05 04:41:16,470 autosynth [DEBUG] > Running: git branch -f autosynth-126\n2020-06-05 04:41:16,475 autosynth [DEBUG] > Running: git checkout autosynth-126\nSwitched to branch \'autosynth-126\'\n2020-06-05 04:41:16,480 autosynth [INFO] > Running synthtool\n2020-06-05 04:41:16,480 autosynth [INFO] > [\'/tmpfs/src/github/synthtool/env/bin/python3\', \'-m\', \'synthtool\', \'--metadata\', \'synth.metadata\', \'synth.py\', \'--\']\n2020-06-05 04:41:16,482 autosynth [DEBUG] > Running: /tmpfs/src/github/synthtool/env/bin/python3 -m synthtool --metadata synth.metadata synth.py --\n2020-06-05 04:41:16,689 synthtool [DEBUG] > Executing /home/kbuilder/.cache/synthtool/nodejs-security-center/synth.py.\nOn branch autosynth-126\nnothing to commit, working tree clean\n2020-06-05 04:41:16,823 synthtool [DEBUG] > Ensuring dependencies.\nDEBUG:synthtool:Ensuring dependencies.\n2020-06-05 04:41:16,828 synthtool [DEBUG] > Cloning googleapis.\nDEBUG:synthtool:Cloning googleapis.\n2020-06-05 04:41:16,829 synthtool [DEBUG] > Using precloned repo /home/kbuilder/.cache/synthtool/googleapis\nDEBUG:synthtool:Using precloned repo /home/kbuilder/.cache/synthtool/googleapis\n2020-06-05 04:41:16,832 synthtool [DEBUG] > Pulling Docker image: gapic-generator-typescript:latest\nDEBUG:synthtool:Pulling Docker image: gapic-generator-typescript:latest\nlatest: Pulling from gapic-images/gapic-generator-typescript\nDigest: sha256:c9bc12024eddcfb94501627ff5b3ea302370995e9a2c9cde6b3317375d7e7b66\nStatus: Image is up to date for gcr.io/gapic-images/gapic-generator-typescript:latest\n2020-06-05 04:41:17,745 synthtool [DEBUG] > Generating code for: google/cloud/securitycenter/v1.\nDEBUG:synthtool:Generating code for: google/cloud/securitycenter/v1.\n2020-06-05 04:41:18,590 synthtool [DEBUG] > Wrote metadata to synth.metadata.\nDEBUG:synthtool:Wrote metadata to synth.metadata.\nTraceback (most recent call last):\n  File "/home/kbuilder/.pyenv/versions/3.6.9/lib/python3.6/runpy.py", line 193, in _run_module_as_main\n    "__main__", mod_spec)\n  File "/home/kbuilder/.pyenv/versions/3.6.9/lib/python3.6/runpy.py", line 85, in _run_code\n    exec(code, run_globals)\n  File "/tmpfs/src/github/synthtool/synthtool/__main__.py", line 102, in <module>\n    main()\n  File "/tmpfs/src/github/synthtool/env/lib/python3.6/site-packages/click/core.py", line 829, in __call__\n    return self.main(*args, **kwargs)\n  File "/tmpfs/src/github/synthtool/env/lib/python3.6/site-packages/click/core.py", line 782, in main\n    rv = self.invoke(ctx)\n  File "/tmpfs/src/github/synthtool/env/lib/python3.6/site-packages/click/core.py", line 1066, in invoke\n    return ctx.invoke(self.callback, **ctx.params)\n  File "/tmpfs/src/github/synthtool/env/lib/python3.6/site-packages/click/core.py", line 610, in invoke\n    return callback(*args, **kwargs)\n  File "/tmpfs/src/github/synthtool/synthtool/__main__.py", line 94, in main\n    spec.loader.exec_module(synth_module)  # type: ignore\n  File "<frozen importlib._bootstrap_external>", line 678, in exec_module\n  File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed\n  File "/home/kbuilder/.cache/synthtool/nodejs-security-center/synth.py", line 38, in <module>\n    version=version)\n  File "/tmpfs/src/github/synthtool/synthtool/gcp/gapic_microgenerator.py", line 66, in typescript_library\n    return self._generate_code(service, version, "typescript", **kwargs)\n  File "/tmpfs/src/github/synthtool/synthtool/gcp/gapic_microgenerator.py", line 195, in _generate_code\n    f"Code generation seemed to succeed, but {output_dir} is empty."\nRuntimeError: Code generation seemed to succeed, but /tmpfs/tmp/tmp2azh8_wc is empty.\n2020-06-05 04:41:18,631 autosynth [ERROR] > Synthesis failed\n2020-06-05 04:41:18,631 autosynth [DEBUG] > Running: git reset --hard HEAD\nHEAD is now at 20e4b1e chore: update root proto namespace (#278)\n2020-06-05 04:41:18,637 autosynth [DEBUG] > Running: git checkout autosynth\nSwitched to branch \'autosynth\'\n2020-06-05 04:41:18,642 autosynth [DEBUG] > Running: git clean -fdx\nRemoving __pycache__/\nTraceback (most recent call last):\n  File "/home/kbuilder/.pyenv/versions/3.6.9/lib/python3.6/runpy.py", line 193, in _run_module_as_main\n    "__main__", mod_spec)\n  File "/home/kbuilder/.pyenv/versions/3.6.9/lib/python3.6/runpy.py", line 85, in _run_code\n    exec(code, run_globals)\n  File "/tmpfs/src/github/synthtool/autosynth/synth.py", line 615, in <module>\n    main()\n  File "/tmpfs/src/github/synthtool/autosynth/synth.py", line 476, in main\n    return _inner_main(temp_dir)\n  File "/tmpfs/src/github/synthtool/autosynth/synth.py", line 595, in _inner_main\n    commit_count = synthesize_loop(x, multiple_prs, change_pusher, synthesizer)\n  File "/tmpfs/src/github/synthtool/autosynth/synth.py", line 371, in synthesize_loop\n    synthesize_inner_loop(toolbox, synthesizer)\n  File "/tmpfs/src/github/synthtool/autosynth/synth.py", line 381, in synthesize_inner_loop\n    synthesizer, len(toolbox.versions) - 1\n  File "/tmpfs/src/github/synthtool/autosynth/synth.py", line 266, in synthesize_version_in_new_branch\n    synthesizer.synthesize(synth_log_path, self.environ)\n  File "/tmpfs/src/github/synthtool/autosynth/synthesizer.py", line 119, in synthesize\n    synth_proc.check_returncode()  # Raise an exception.\n  File "/home/kbuilder/.pyenv/versions/3.6.9/lib/python3.6/subprocess.py", line 389, in check_returncode\n    self.stderr)\nsubprocess.CalledProcessError: Command \'[\'/tmpfs/src/github/synthtool/env/bin/python3\', \'-m\', \'synthtool\', \'--metadata\', \'synth.metadata\', \'synth.py\', \'--\']\' returned non-zero exit status 1.\n'

Google internal developers can see the full log here.

Autosynth is still having trouble generating nodejs-security-center. :sob:
Here's the output from running synth.py:
b'BUG:synthtool:Ensuring dependencies.\n2020-06-05 10:33:43,636 synthtool [DEBUG] > Cloning googleapis.\nDEBUG:synthtool:Cloning googleapis.\n2020-06-05 10:33:43,637 synthtool [DEBUG] > Using precloned repo /home/kbuilder/.cache/synthtool/googleapis\nDEBUG:synthtool:Using precloned repo /home/kbuilder/.cache/synthtool/googleapis\n2020-06-05 10:33:43,640 synthtool [DEBUG] > Pulling Docker image: gapic-generator-typescript:latest\nDEBUG:synthtool:Pulling Docker image: gapic-generator-typescript:latest\nlatest: Pulling from gapic-images/gapic-generator-typescript\nDigest: sha256:c9bc12024eddcfb94501627ff5b3ea302370995e9a2c9cde6b3317375d7e7b66\nStatus: Image is up to date for gcr.io/gapic-images/gapic-generator-typescript:latest\n2020-06-05 10:33:44,563 synthtool [DEBUG] > Generating code for: google/cloud/securitycenter/v1.\nDEBUG:synthtool:Generating code for: google/cloud/securitycenter/v1.\n2020-06-05 10:33:45,452 synthtool [DEBUG] > Wrote metadata to synth.metadata.\nDEBUG:synthtool:Wrote metadata to synth.metadata.\nTraceback (most recent call last):\n  File "/home/kbuilder/.pyenv/versions/3.6.9/lib/python3.6/runpy.py", line 193, in _run_module_as_main\n    "__main__", mod_spec)\n  File "/home/kbuilder/.pyenv/versions/3.6.9/lib/python3.6/runpy.py", line 85, in _run_code\n    exec(code, run_globals)\n  File "/tmpfs/src/github/synthtool/synthtool/__main__.py", line 102, in <module>\n    main()\n  File "/tmpfs/src/github/synthtool/env/lib/python3.6/site-packages/click/core.py", line 829, in __call__\n    return self.main(*args, **kwargs)\n  File "/tmpfs/src/github/synthtool/env/lib/python3.6/site-packages/click/core.py", line 782, in main\n    rv = self.invoke(ctx)\n  File "/tmpfs/src/github/synthtool/env/lib/python3.6/site-packages/click/core.py", line 1066, in invoke\n    return ctx.invoke(self.callback, **ctx.params)\n  File "/tmpfs/src/github/synthtool/env/lib/python3.6/site-packages/click/core.py", line 610, in invoke\n    return callback(*args, **kwargs)\n  File "/tmpfs/src/github/synthtool/synthtool/__main__.py", line 94, in main\n    spec.loader.exec_module(synth_module)  # type: ignore\n  File "<frozen importlib._bootstrap_external>", line 678, in exec_module\n  File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed\n  File "/home/kbuilder/.cache/synthtool/nodejs-security-center/synth.py", line 38, in <module>\n    version=version)\n  File "/tmpfs/src/github/synthtool/synthtool/gcp/gapic_microgenerator.py", line 66, in typescript_library\n    return self._generate_code(service, version, "typescript", **kwargs)\n  File "/tmpfs/src/github/synthtool/synthtool/gcp/gapic_microgenerator.py", line 195, in _generate_code\n    f"Code generation seemed to succeed, but {output_dir} is empty."\nRuntimeError: Code generation seemed to succeed, but /tmpfs/tmp/tmpyc6ahvna is empty.\n2020-06-05 10:33:45,492 autosynth [ERROR] > Synthesis failed\n2020-06-05 10:33:45,493 autosynth [DEBUG] > Running: git reset --hard HEAD\nHEAD is now at 20e4b1e chore: update root proto namespace (#278)\n2020-06-05 10:33:45,498 autosynth [DEBUG] > Running: git checkout autosynth-self\nSwitched to branch \'autosynth-self\'\n2020-06-05 10:33:45,503 autosynth [ERROR] > Command \'[\'/tmpfs/src/github/synthtool/env/bin/python3\', \'-m\', \'synthtool\', \'--metadata\', \'synth.metadata\', \'synth.py\', \'--\']\' returned non-zero exit status 1.\n2020-06-05 10:33:45,625 autosynth [DEBUG] > Running: git checkout 20e4b1e59990902c7d48310fd452d8709d63743c\nNote: checking out \'20e4b1e59990902c7d48310fd452d8709d63743c\'.\n\nYou are in \'detached HEAD\' state. You can look around, make experimental\nchanges and commit them, and you can discard any commits you make in this\nstate without impacting any branches by performing another checkout.\n\nIf you want to create a new branch to retain commits you create, you may\ndo so (now or later) by using -b with the checkout command again. Example:\n\n  git checkout -b <new-branch-name>\n\nHEAD is now at 20e4b1e chore: update root proto namespace (#278)\n2020-06-05 10:33:45,630 autosynth [DEBUG] > Running: git checkout 40a354b0f47454be4986f9db504cca4d4371c8c3\nPrevious HEAD position was 839fae42 Update documentation\nHEAD is now at 40a354b0 chore: add protoc proto3_optional flag in bazelrc\n2020-06-05 10:33:45,703 autosynth [DEBUG] > Running: git checkout d53a5b45c46920932dbe7d0a95e10d8b58933dae\nPrevious HEAD position was be74d3e build: do not fail builds on codecov errors (#528)\nHEAD is now at d53a5b4 docs: improve README (#600)\n2020-06-05 10:33:45,720 autosynth [DEBUG] > Running: git branch -f autosynth-127\n2020-06-05 10:33:45,724 autosynth [DEBUG] > Running: git checkout autosynth-127\nSwitched to branch \'autosynth-127\'\n2020-06-05 10:33:45,729 autosynth [INFO] > Running synthtool\n2020-06-05 10:33:45,729 autosynth [INFO] > [\'/tmpfs/src/github/synthtool/env/bin/python3\', \'-m\', \'synthtool\', \'--metadata\', \'synth.metadata\', \'synth.py\', \'--\']\n2020-06-05 10:33:45,731 autosynth [DEBUG] > Running: /tmpfs/src/github/synthtool/env/bin/python3 -m synthtool --metadata synth.metadata synth.py --\n2020-06-05 10:33:45,960 synthtool [DEBUG] > Executing /home/kbuilder/.cache/synthtool/nodejs-security-center/synth.py.\nOn branch autosynth-127\nnothing to commit, working tree clean\n2020-06-05 10:33:46,104 synthtool [DEBUG] > Ensuring dependencies.\nDEBUG:synthtool:Ensuring dependencies.\n2020-06-05 10:33:46,109 synthtool [DEBUG] > Cloning googleapis.\nDEBUG:synthtool:Cloning googleapis.\n2020-06-05 10:33:46,110 synthtool [DEBUG] > Using precloned repo /home/kbuilder/.cache/synthtool/googleapis\nDEBUG:synthtool:Using precloned repo /home/kbuilder/.cache/synthtool/googleapis\n2020-06-05 10:33:46,114 synthtool [DEBUG] > Pulling Docker image: gapic-generator-typescript:latest\nDEBUG:synthtool:Pulling Docker image: gapic-generator-typescript:latest\nlatest: Pulling from gapic-images/gapic-generator-typescript\nDigest: sha256:c9bc12024eddcfb94501627ff5b3ea302370995e9a2c9cde6b3317375d7e7b66\nStatus: Image is up to date for gcr.io/gapic-images/gapic-generator-typescript:latest\n2020-06-05 10:33:47,058 synthtool [DEBUG] > Generating code for: google/cloud/securitycenter/v1.\nDEBUG:synthtool:Generating code for: google/cloud/securitycenter/v1.\n2020-06-05 10:33:47,956 synthtool [DEBUG] > Wrote metadata to synth.metadata.\nDEBUG:synthtool:Wrote metadata to synth.metadata.\nTraceback (most recent call last):\n  File "/home/kbuilder/.pyenv/versions/3.6.9/lib/python3.6/runpy.py", line 193, in _run_module_as_main\n    "__main__", mod_spec)\n  File "/home/kbuilder/.pyenv/versions/3.6.9/lib/python3.6/runpy.py", line 85, in _run_code\n    exec(code, run_globals)\n  File "/tmpfs/src/github/synthtool/synthtool/__main__.py", line 102, in <module>\n    main()\n  File "/tmpfs/src/github/synthtool/env/lib/python3.6/site-packages/click/core.py", line 829, in __call__\n    return self.main(*args, **kwargs)\n  File "/tmpfs/src/github/synthtool/env/lib/python3.6/site-packages/click/core.py", line 782, in main\n    rv = self.invoke(ctx)\n  File "/tmpfs/src/github/synthtool/env/lib/python3.6/site-packages/click/core.py", line 1066, in invoke\n    return ctx.invoke(self.callback, **ctx.params)\n  File "/tmpfs/src/github/synthtool/env/lib/python3.6/site-packages/click/core.py", line 610, in invoke\n    return callback(*args, **kwargs)\n  File "/tmpfs/src/github/synthtool/synthtool/__main__.py", line 94, in main\n    spec.loader.exec_module(synth_module)  # type: ignore\n  File "<frozen importlib._bootstrap_external>", line 678, in exec_module\n  File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed\n  File "/home/kbuilder/.cache/synthtool/nodejs-security-center/synth.py", line 38, in <module>\n    version=version)\n  File "/tmpfs/src/github/synthtool/synthtool/gcp/gapic_microgenerator.py", line 66, in typescript_library\n    return self._generate_code(service, version, "typescript", **kwargs)\n  File "/tmpfs/src/github/synthtool/synthtool/gcp/gapic_microgenerator.py", line 195, in _generate_code\n    f"Code generation seemed to succeed, but {output_dir} is empty."\nRuntimeError: Code generation seemed to succeed, but /tmpfs/tmp/tmpo27tav2m is empty.\n2020-06-05 10:33:47,998 autosynth [ERROR] > Synthesis failed\n2020-06-05 10:33:47,998 autosynth [DEBUG] > Running: git reset --hard HEAD\nHEAD is now at 20e4b1e chore: update root proto namespace (#278)\n2020-06-05 10:33:48,003 autosynth [DEBUG] > Running: git checkout autosynth\nSwitched to branch \'autosynth\'\n2020-06-05 10:33:48,008 autosynth [DEBUG] > Running: git clean -fdx\nRemoving __pycache__/\nTraceback (most recent call last):\n  File "/home/kbuilder/.pyenv/versions/3.6.9/lib/python3.6/runpy.py", line 193, in _run_module_as_main\n    "__main__", mod_spec)\n  File "/home/kbuilder/.pyenv/versions/3.6.9/lib/python3.6/runpy.py", line 85, in _run_code\n    exec(code, run_globals)\n  File "/tmpfs/src/github/synthtool/autosynth/synth.py", line 615, in <module>\n    main()\n  File "/tmpfs/src/github/synthtool/autosynth/synth.py", line 476, in main\n    return _inner_main(temp_dir)\n  File "/tmpfs/src/github/synthtool/autosynth/synth.py", line 595, in _inner_main\n    commit_count = synthesize_loop(x, multiple_prs, change_pusher, synthesizer)\n  File "/tmpfs/src/github/synthtool/autosynth/synth.py", line 371, in synthesize_loop\n    synthesize_inner_loop(toolbox, synthesizer)\n  File "/tmpfs/src/github/synthtool/autosynth/synth.py", line 381, in synthesize_inner_loop\n    synthesizer, len(toolbox.versions) - 1\n  File "/tmpfs/src/github/synthtool/autosynth/synth.py", line 266, in synthesize_version_in_new_branch\n    synthesizer.synthesize(synth_log_path, self.environ)\n  File "/tmpfs/src/github/synthtool/autosynth/synthesizer.py", line 119, in synthesize\n    synth_proc.check_returncode()  # Raise an exception.\n  File "/home/kbuilder/.pyenv/versions/3.6.9/lib/python3.6/subprocess.py", line 389, in check_returncode\n    self.stderr)\nsubprocess.CalledProcessError: Command \'[\'/tmpfs/src/github/synthtool/env/bin/python3\', \'-m\', \'synthtool\', \'--metadata\', \'synth.metadata\', \'synth.py\', \'--\']\' returned non-zero exit status 1.\n'

Google internal developers can see the full log here.

Autosynth is still having trouble generating nodejs-security-center. :sob:
Here's the output from running synth.py:
c/github/synthtool/synthtool/gcp/gapic_microgenerator.py", line 66, in typescript_library
    return self._generate_code(service, version, "typescript", **kwargs)
  File "/tmpfs/src/github/synthtool/synthtool/gcp/gapic_microgenerator.py", line 195, in _generate_code
    f"Code generation seemed to succeed, but {output_dir} is empty."
RuntimeError: Code generation seemed to succeed, but /tmpfs/tmp/tmpvkka5kcs is empty.
2020-06-05 15:59:09,337 autosynth [ERROR] > Synthesis failed
2020-06-05 15:59:09,337 autosynth [DEBUG] > Running: git reset --hard HEAD
HEAD is now at 20e4b1e chore: update root proto namespace (#278)
2020-06-05 15:59:09,342 autosynth [DEBUG] > Running: git checkout autosynth-self
Switched to branch 'autosynth-self'
2020-06-05 15:59:09,346 autosynth [ERROR] > Command '['/tmpfs/src/github/synthtool/env/bin/python3', '-m', 'synthtool', '--metadata', 'synth.metadata', 'synth.py', '--']' returned non-zero exit status 1.
2020-06-05 15:59:09,500 autosynth [DEBUG] > Running: git checkout 20e4b1e59990902c7d48310fd452d8709d63743c
Note: checking out '20e4b1e59990902c7d48310fd452d8709d63743c'.

You are in 'detached HEAD' state. You can look around, make experimental
changes and commit them, and you can discard any commits you make in this
state without impacting any branches by performing another checkout.

If you want to create a new branch to retain commits you create, you may
do so (now or later) by using -b with the checkout command again. Example:

  git checkout -b <new-branch-name>

HEAD is now at 20e4b1e chore: update root proto namespace (#278)
2020-06-05 15:59:09,505 autosynth [DEBUG] > Running: git checkout 40a354b0f47454be4986f9db504cca4d4371c8c3
Previous HEAD position was 839fae42 Update documentation
HEAD is now at 40a354b0 chore: add protoc proto3_optional flag in bazelrc
2020-06-05 15:59:09,577 autosynth [DEBUG] > Running: git checkout 9c2913e1831eb00fa01317f3fea4ce25d3f657eb
Previous HEAD position was be74d3e build: do not fail builds on codecov errors (#528)
HEAD is now at 9c2913e feat: show output from microgenerator runs (#575)
2020-06-05 15:59:09,593 autosynth [DEBUG] > Running: git branch -f autosynth-133
2020-06-05 15:59:09,597 autosynth [DEBUG] > Running: git checkout autosynth-133
Switched to branch 'autosynth-133'
2020-06-05 15:59:09,601 autosynth [INFO] > Running synthtool
2020-06-05 15:59:09,601 autosynth [INFO] > ['/tmpfs/src/github/synthtool/env/bin/python3', '-m', 'synthtool', '--metadata', 'synth.metadata', 'synth.py', '--']
2020-06-05 15:59:09,603 autosynth [DEBUG] > Running: /tmpfs/src/github/synthtool/env/bin/python3 -m synthtool --metadata synth.metadata synth.py --
2020-06-05 15:59:09,829 synthtool [DEBUG] > Executing /home/kbuilder/.cache/synthtool/nodejs-security-center/synth.py.
On branch autosynth-133
nothing to commit, working tree clean
2020-06-05 15:59:09,970 synthtool [DEBUG] > Ensuring dependencies.
DEBUG:synthtool:Ensuring dependencies.
2020-06-05 15:59:09,975 synthtool [DEBUG] > Cloning googleapis.
DEBUG:synthtool:Cloning googleapis.
2020-06-05 15:59:09,975 synthtool [DEBUG] > Using precloned repo /home/kbuilder/.cache/synthtool/googleapis
DEBUG:synthtool:Using precloned repo /home/kbuilder/.cache/synthtool/googleapis
2020-06-05 15:59:09,979 synthtool [DEBUG] > Pulling Docker image: gapic-generator-typescript:latest
DEBUG:synthtool:Pulling Docker image: gapic-generator-typescript:latest
latest: Pulling from gapic-images/gapic-generator-typescript
Digest: sha256:c9bc12024eddcfb94501627ff5b3ea302370995e9a2c9cde6b3317375d7e7b66
Status: Image is up to date for gcr.io/gapic-images/gapic-generator-typescript:latest
2020-06-05 15:59:10,872 synthtool [DEBUG] > Generating code for: google/cloud/securitycenter/v1.
DEBUG:synthtool:Generating code for: google/cloud/securitycenter/v1.
gapic-generator-typescript: https://github.com/googleapis/gapic-generator-typescript
Latest commit:
commit a858a371e225254fca1c32d8d6b142b42cb711ad
Author: release-please[bot]<EMAIL_ADDRESS>Date:   Thu Jun 4 16:54:54 2020 -0700

child_process.js:642
    throw err;
    ^

Error: spawnSync protoc EACCES
    at Object.spawnSync (internal/child_process.js:1041:20)
    at spawnSync (child_process.js:607:24)
    at Object.execFileSync (child_process.js:634:15)
    at Object.<anonymous> (/usr/local/lib/node_modules/@google-cloud/gapic-generator/build/src/gapic-generator-typescript.js:117:17)
    at Module._compile (internal/modules/cjs/loader.js:955:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:991:10)
    at Module.load (internal/modules/cjs/loader.js:811:32)
    at Function.Module._load (internal/modules/cjs/loader.js:723:14)
    at Function.Module.runMain (internal/modules/cjs/loader.js:1043:10)
    at internal/main/run_main_module.js:17:11 {
  errno: 'EACCES',
  code: 'EACCES',
  syscall: 'spawnSync protoc',
  path: 'protoc',
  spawnargs: [
<EMAIL_ADDRESS>    '--typescript_gapic_out=/out',
    '--gapic-validator_out=.',
    '--typescript_gapic_opt="grpc-service-config=google/cloud/securitycenter/v1/securitycenter_grpc_service_config.json"',
    '--typescript_gapic_opt="package-name=@google-cloud/security-center"',
    '--experimental_allow_proto3_optional',
    '-I/in',
    '/in/google/cloud/securitycenter/v1/notification_message.proto',
    '/in/google/cloud/securitycenter/v1/finding.proto',
    '/in/google/cloud/securitycenter/v1/asset.proto',
    '/in/google/cloud/securitycenter/v1/source.proto',
    '/in/google/cloud/securitycenter/v1/securitycenter_service.proto',
    '/in/google/cloud/securitycenter/v1/notification_config.proto',
    '/in/google/cloud/securitycenter/v1/organization_settings.proto',
    '/in/google/cloud/securitycenter/v1/security_marks.proto',
    '/in/google/cloud/securitycenter/v1/run_asset_discovery_response.proto',
    '/in/google/cloud/common_resources.proto',
    '-I/protos/api-common-protos-master'
  ],
  error: [Circular],
  status: null,
  signal: null,
  output: null,
  pid: 17,
  stdout: null,
  stderr: null
}
2020-06-05 15:59:11,709 synthtool [DEBUG] > Wrote metadata to synth.metadata.
DEBUG:synthtool:Wrote metadata to 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/synthtool/__main__.py", line 102, in <module>
    main()
  File "/tmpfs/src/github/synthtool/env/lib/python3.6/site-packages/click/core.py", line 829, in __call__
    return self.main(*args, **kwargs)
  File "/tmpfs/src/github/synthtool/env/lib/python3.6/site-packages/click/core.py", line 782, in main
    rv = self.invoke(ctx)
  File "/tmpfs/src/github/synthtool/env/lib/python3.6/site-packages/click/core.py", line 1066, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/tmpfs/src/github/synthtool/env/lib/python3.6/site-packages/click/core.py", line 610, in invoke
    return callback(*args, **kwargs)
  File "/tmpfs/src/github/synthtool/synthtool/__main__.py", line 94, in main
    spec.loader.exec_module(synth_module)  # type: ignore
  File "<frozen importlib._bootstrap_external>", line 678, in exec_module
  File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
  File "/home/kbuilder/.cache/synthtool/nodejs-security-center/synth.py", line 38, in <module>
    version=version)
  File "/tmpfs/src/github/synthtool/synthtool/gcp/gapic_microgenerator.py", line 66, in typescript_library
    return self._generate_code(service, version, "typescript", **kwargs)
  File "/tmpfs/src/github/synthtool/synthtool/gcp/gapic_microgenerator.py", line 195, in _generate_code
    f"Code generation seemed to succeed, but {output_dir} is empty."
RuntimeError: Code generation seemed to succeed, but /tmpfs/tmp/tmp196df0ak is empty.
2020-06-05 15:59:11,745 autosynth [ERROR] > Synthesis failed
2020-06-05 15:59:11,745 autosynth [DEBUG] > Running: git reset --hard HEAD
HEAD is now at 20e4b1e chore: update root proto namespace (#278)
2020-06-05 15:59:11,750 autosynth [DEBUG] > Running: git checkout autosynth
Switched to branch 'autosynth'
2020-06-05 15:59:11,754 autosynth [DEBUG] > Running: git clean -fdx
Removing __pycache__/
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 615, in <module>
    main()
  File "/tmpfs/src/github/synthtool/autosynth/synth.py", line 476, in main
    return _inner_main(temp_dir)
  File "/tmpfs/src/github/synthtool/autosynth/synth.py", line 595, in _inner_main
    commit_count = synthesize_loop(x, multiple_prs, change_pusher, synthesizer)
  File "/tmpfs/src/github/synthtool/autosynth/synth.py", line 371, in synthesize_loop
    synthesize_inner_loop(toolbox, synthesizer)
  File "/tmpfs/src/github/synthtool/autosynth/synth.py", line 381, in synthesize_inner_loop
    synthesizer, len(toolbox.versions) - 1
  File "/tmpfs/src/github/synthtool/autosynth/synth.py", line 266, in synthesize_version_in_new_branch
    synthesizer.synthesize(synth_log_path, self.environ)
  File "/tmpfs/src/github/synthtool/autosynth/synthesizer.py", line 119, in synthesize
    synth_proc.check_returncode()  # Raise an exception.
  File "/home/kbuilder/.pyenv/versions/3.6.9/lib/python3.6/subprocess.py", line 389, in check_returncode
    self.stderr)
subprocess.CalledProcessError: Command '['/tmpfs/src/github/synthtool/env/bin/python3', '-m', 'synthtool', '--metadata', 'synth.metadata', 'synth.py', '--']' returned non-zero exit status 1.

Google internal developers can see the full log here.

Autosynth passed, closing! :green_heart:


Display custom text

Could not find a documentation which describes the interface, so I would like to know if it's possible to pass custom text which is displayed on the scanners display?

It is possible to pass this text (at least for R2000, not R2300 AFAIK).
If you're interested in doing it yourself via the HTTP API (linked on the R2000 product pages as "R2000 Ethernet communication protocol"), you can start at http://YOUR_R2000_IP_HERE/cmd/get_protocol_info, which contains a list of other commands.  The commands of most interest for this application are get_parameter and set_parameter, for parameters hmi_display_mode and hmi_{static,application}_text_{1,2}.  For example, you might do http://SCANNER_IP/cmd/set_parameter?hmi_display_mode=application_text&hmi_application_text_1=test&hmi_application_text_2=banner.  The full protocol doc has lots more details, some of which I've found to be generally useful for operating the sensor even though they're not documented in the more general purpose manuals.
If you're interested in doing this via the ROS dynamic configuration API, first make sure you have the fixes I just pushed from #27 (or equivalent), then after starting the R2000 node, you should be able to rosrun rqt_reconfigure rqt_reconfigure and it will give you a list of parameters that you can edit.

Feel free to reopen the issue if this is not solved for you.

Feel free to reopen the issue if this is not solved for you.


[Sporza] Add extractor for new url format

Please follow the guide below

You will be asked some questions, please read them carefully and answer honestly
Put an x into all the boxes [ ] relevant to your pull request (like that [x])
Use Preview tab to see how your pull request will actually look like

Before submitting a pull request make sure you have:

[x] At least skimmed through adding new extractor tutorial and youtube-dl coding conventions sections
[x] Searched the bugtracker for similar pull requests
[x] Checked the code with flake8

In order to be accepted and merged into youtube-dl each piece of code must be in public domain or released under Unlicense. Check one of the following options:

[x] I am the original author of this code and I am willing to release it under Unlicense
[ ] I am not the original author of this code but it is in public domain or released under Unlicense (provide reliable evidence)

What is the purpose of your pull request?

[ ] Bug fix
[ ] Improvement
[x] New extractor
[ ] New feature

Description of your pull request and other information
Sporza.be has its own videozone (https://sporza.be/nl/videozone/) and this pull requests add an extractor to facilitate downloads from here.

As this has been open for more than a few day with no response, should I ping someone? @dstftw
Sorry, for the ping.


Add common check parsing for validations

What does this PR do?
Add a new helper function called process_checks_option, and use it across all validation scripts.
Default behavior should remain the same (empty arg => all checks, check name => one check), but it makes changed value available in all cases so we can later update our CI to only apply these validations against changed checks.
Motivation
This should limit the blast radius of failing CI's to only those checks directly affected.
Additional Notes
CI pipeline updates can be covered in a separate PR, once these changes get incorporated.
Review checklist (to be filled by reviewers)

[ ] Feature or bugfix MUST have appropriate tests (unit, integration, e2e)
[ ] PR title must be written as a CHANGELOG entry (see why)
[ ] Files changes must correspond to the primary purpose of the PR as described in the title (small unrelated changes should have their own PR)
[ ] PR must have changelog/ and integration/ labels attached

/azp run


 In angel arena early/mid game is not so important because players interact less then in regular dota because there is no a laning phase and you are getting 6 sloted in 10min or so.
so my sggestion is
Make BKB togle and work like armlet, so it gives you soft disable imunity (not sure if i got it right, but i mean same disable imunity like bkb curently gives), but drains 3-5% of max hp per second, and additional magic damage resistance like 30-50% when on.

You provide no reason why this should be done, and it is a major break with vanilla (which is something we want to avoid). Closed.


Tenant operator: add rbac to access own tenant resource

Description
This PR adds the creation of the cluster role and cluster role binding to the tenant operator to allow each user to access its own tenant resource,
How Has This Been Tested?

Adding some tests to the tenant operator

/deploy-staging

/rebase

/merge


[FEATURE REQ] Support for safe batching with MessageSender

Is your feature request related to a problem? Please describe.
As described in https://github.com/Azure/azure-service-bus-dotnet/pull/539

The client allows to send a collection of messages (SendAsync(IList)) which is problematic when there's a large number of messages that would not fit into the maximum message size. As a result of that, an exception is thrown when the send operation is invoked.

Describe the solution you'd like
I'd like to write the following code without worrying about an MessageSizeExceededException
await messageSender.SendAsync(bigListOfMessages);

But since there already a SendAsync method that takes IList<Message> one could name it SendChunkedAsync(), SendBatchAsync() or something else that doesn't conflict.
I'm thinking that this method would use the current SendAsync(IList<Message>) method to send it's chunks of Messages in order to pack them into as few AMPQ messages as possible.
Describe alternatives you've considered

I've tried to chunk the messages my self as described in this article but given that the Size property of the Message class only accounts for body size.

This is the my current solution from my understanding sends all the messages individually. Or at least it appears so on the when looking at the code.

var sendTasks = messages
    .Select(m => messageSender.SendAsync(m))
    .ToArray();
await Task.WaitAll(sendTasks);

@brolaugh, thanks for creating this issue. Our engineering team is investigating into different approaches to make your coding simpler.

@axisc since @SeanFeldman had a WIP PR in the old repo, would it be possible to resurrect that code to get this feature request moving forward? It's really unfortunate that there's no way to do safe batching with the SDK. Thanks!
https://github.com/Azure/azure-service-bus-dotnet/pull/539/files

The old repository was moved into this mono-repo. New feature development is on hold, that's why I don't try to continue with the PR. Sorry, @ericsampson.

@SeanFeldman but given that this feature request is due on 17th of January which is rather soon, it wouldn't been unreasonable for them to continue on that path you started in order to reduce workload. Right?

@brolaugh I'm not a Microsoft employee and don't know what's the milestone planning is. Perhaps it's still planned and worked on internally? No idea, sorry.
@AlexGhiondea would you be able to help with a clarification? Thank you.

@brolaugh this issue is about our released library for Service Bus.  @binzywu would know more about this.

Okay I'll wait for a response from @jfggdl  then :)

Hi guys,
This feature I will accept with open hands :)
I googled and see that in old repo there was a lot of work done to have safe batching mechanism.
Is there any news about it?

Hi guys,
This feature I will accept with open hands :)
I googled and see that in old repo there was a lot of work done to have safe batching mechanism.
Is there any news about it?

@SeanFeldman was the one working on it and he said the following earlier in this thread.

The old repository was moved into this mono-repo. New feature development is on hold, that's why I don't try to continue with the PR. Sorry, @ericsampson.

Moving this to the backlog milestone, as the associated sprint has passed.
@axisc:  I removed the outdated assignment.  Would you be so kind as to help route to the appropriate individual?

Hi @axisc , @jsquire
Is there any chance of having this feature request implemented? I've seen various PRs and issues raised related to this since early 2017 but it seems like any progress may have come to a standstill.
@brolaugh did you find a viable work-around in the mean time? Would you mind sharing if so? Thanks!

@ColeSiegelTR I simply sent all messages one by one like described in my original post.

Have you considered using Azure.Messaging.ServiceBus, which recently went GA and is now considered the current generation library for Service Bus?   It offers the ability to build a batch that is aware of size limits and that can be sent without the potential of exceeding the limit and triggering an exception.
For example:
// add the messages that we plan to send to a local queue
Queue<ServiceBusMessage> messages = new Queue<ServiceBusMessage>();
messages.Enqueue(new ServiceBusMessage("First message"));
messages.Enqueue(new ServiceBusMessage("Second message"));
messages.Enqueue(new ServiceBusMessage("Third message"));

// create a message batch that we can send
// total number of messages to be sent to the Service Bus queue
int messageCount = messages.Count;

// while all messages are not sent to the Service Bus queue
while (messages.Count > 0)
{
    // start a new batch
    using ServiceBusMessageBatch messageBatch = await sender.CreateMessageBatchAsync();

    // add the first message to the batch
    if (messageBatch.TryAddMessage(messages.Peek()))
    {
        // dequeue the message from the .NET queue once the message is added to the batch
        messages.Dequeue();
    }
    else
    {
        // if the first message can't fit, then it is too large for the batch
        throw new Exception($"Message {messageCount - messages.Count} is too large and cannot be sent.");
    }

    // add as many messages as possible to the current batch
    while (messages.Count > 0 && messageBatch.TryAddMessage(messages.Peek()))
    {
        // dequeue the message from the .NET queue as it has been added to the batch
        messages.Dequeue();
    }

    // now, send the batch
    await sender.SendMessagesAsync(messageBatch);

    // if there are any remaining messages in the .NET queue, the while loop repeats
}

More information on Azure.Messaging.ServiceBus can be found on its README and samples.
//cc: @JoshLove-msft

Hello all,
The newer package Azure.Messaging.ServiceBus is available as of November 2020. While the older package Microsoft.Azure.ServiceBus will continue to receive critical bug fixes, we strongly encourage you to upgrade. Read the migration guide  for more details.
Closing this issue as there are no plans to add the feature discussed here to the older Microsoft.Azure.ServiceBus package and @jsquire has provided pointers on how to use this feature in the Azure.Messaging.ServiceBus
Thanks for your patience!


Create api.php

Issue Reference

Description

The Code snippet to add translation API in the index.php file.
How To Test This?

After adding the API key, the translation feature is activated. A dropdown appears to select language.
Documentation

[ ] My pull request requires an update on the documentation repository.

This can't be merged.


Added hover animation to event card register button

Description

Added hover animation to register buttons in events page
Changed cursor type to pointer for register buttons

Checklist

[x] I've read the contribution guidelines.
[x] I've checked the issue list before deciding what to submit.

File(s) Added / Modified

stylesheets/events.css

Page(s) Added/ Modified in website

/events

Screenshots:
Before:

After:

Since this Pull Request contains only a few changes, we are sorry to tell you that we are not ready to merge this Pull Request.
Consider creating an issue before creating any Pull Request. You can start working on this project once the Project Admins assign you to work on that issue, and don't forget to mention that issue number in your Pull Request. We also suggest you spend some time reading the Contributing Guidelines
Thank you! @DharaneeswaranR, for taking your time to contribute to this repository :rocket:
Feel free to check other issues in this repository

Since this Pull Request contains only a few changes, we are sorry to tell you that we are not ready to merge this Pull Request. Consider creating an issue before creating any Pull Request. You can start working on this project once the Project Admins assign you to work on that issue, and don't forget to mention that issue number in your Pull Request. We also suggest you spend some time reading the Contributing Guidelines
Thank you! @DharaneeswaranR, for taking your time to contribute to this repository 🚀
Feel free to check other issues in this repository

Sure, will do it right next time 👍

As the PR is very detailed, I am gonna re-open it.
But next time make sure that each PR is related to a given particular issue.
If the issue is not there, then create the issue, work on it and then create the PR.


refactor: exceptions file generation

going over deployer and checking for discrepancies when comparing to the latest core version

@faustbrian


How to use the native API with int64 parameters?

I do it like this:
"Native_fdb_tsl_iter_by_time", 		// the name of WASM function name (void*)Native_fdb_tsl_iter_by_time, // the native function pointer "(II)i"		// the function prototype signature },
int Native_fdb_tsl_iter_by_time(wasm_exec_env_t exec_env, /*uint64_t*/signed long int pfrom_time, signed long int pto_time) {...}
The function declaration in WASM is as follows:
int Native_fdb_tsl_iter_by_time(unsigned long int  pfrom_time, unsigned long int  pto_time);
It compiles successfully,But a error occurs runtime:
Exception: failed to call unlinked import function (env, Native_fdb_tsl_iter_by_time)
What should i do to fix it?

it works fine if i use int32(ii).


Slider doesn't initialize properly

I'm running into an issue where the slider always initializes to its middle value, even though the component's value property is correct.
I managed to fix this by adding this to the component (tried opening a pull request, but didn't have permission):
didInsertElement: function() {
    var initialValue = this.get('value');
    this.set('element.value', initialValue);
  }

That sholud fix it up for you. In order to submit the pull request, you'll have to fork the repository.


fix toast styling when summary prop is not added

Hi
If we use the toast component without the summary field. The styles are not correct

Updated presets (Lara, Wind) to show it correctly. Centered the content vertically if the summary is not there and removed margin-top from the detail.

Fix demo: https://stackblitz.com/edit/icxzv3?file=src%2FApp.vue,src%2Fpresets%2Fwind%2Ftoast%2Findex.js,src%2Fpresets%2Flara%2Ftoast%2Findex.js,src%2Fmain.js

Hi, thank you for your contributions. I merged your PR, and we will have a release this week. 🚀


Revoked credentials aren't rendering with the revoked credential UI after a proof request

After a proof request, all revoked credentials no longer appear with the revoked credential UI.
The screenshot was taken after a proof request. All but one (the top one) should be red.

There is an ongoing problem with revoking credential which it means that there are multiple non-revoked credentials. This is issue is being tracked outside of the wallet.


Plugin works on Samsung-based Android Devices but get gets errors on Google Pixel Android Devices

Description of the bug
I have been mostly testing a game I have been working on that uses this package using samsung-based android devices. The speech to text system works fine on there, however, on a Google Pixel 6a, the STT system does not work as intended. Users testing the app on Google Pixel 6a report that pressing the speak button works the first time, but every other time after that they have to press the button twice.
The first time they press the speak button it instantly cancels the speech to text, and they either get error 8 or 11 (it alternates between the two). After that, if they click the button a second time the speech to text works as intended. So in summary, when the game runs, the first time they press speak button it works as intended, but every other time after that they have to press it twice, with the first time resulting in either an error code 8 or 11 being thrown.

The errors thrown seem to indicate that for some reason the server has disconnected and/or the recognizer from the previous session is still active, however, I am confused as to why this doesn't happen on my samsung-based android devices and for some reason only happens on the pixel devices.
Reproduction steps
I unfortunately don't have access to the Google Pixel 6a devices that this error occurred on, as this error was found by users testing the game remotely. Again, I have been testing the game personally on samsung devices and this error has not occurred once on any of them. I will be getting a Google Pixel 6a to do further testing myself to see what the issue is and will update with more findings when I can.
Platform specs
Please provide the following info if this is a Unity 3D repository.
Unity version: 2022.3.21f1
Platform: Android
Device: Google Pixel 6a (device where this error has appeared), Samsung Galaxy A21s and Samsung Galaxy S23 (main devices I have been using for testing and where the issue hasn't occurred)
How did you download the plugin: GitHub

I'm suspecting that SpeechToTextRecognitionListener.onError is invoked immediately but is followed by actual speech data (logically, if an error occurs, then it should be the end of the session).
I've added logs to if( !isResultSent ) conditions' else clauses to see if this is the case. You can update SpeechToText.aar with the one inside this zip archive to get those logs and see if that's indeed the case.

Hi, sorry for the delay, only have just been able to get my hands on a Google Pixel 6a. I loaded my game and then played through. First time pressing the speak button it works fine, but then again, the second time I try to press it, I have to press it twice for it to work. Here is the logs for when I press it a second time.

Here it is in plain text:
2024/06/27 15:50:31.539 5172 5172 Warn Unity SpeechToText.SendResult is called but the result is already sent (8):
2024/06/27 15:50:31.542 5172 5172 Error Unity Speech recognition error code: 11
2024/06/27 15:50:31.559 5172 5172 Debug Unity SpeechToText.SendResult (11):
2024/06/27 15:50:31.573 5172 5190 Info Unity OnResultReceived:  --- Error: 11
Any ideas on why this is happening?

I'm guessing there was a "Error Unity Speech recognition error code: 8" log before the "Warn Unity SpeechToText.SendResult is called but the result is already sent (8):" log. It looks like the speech recognizer first sent error code 8 and then sent error code 11. If there are no other logs, then my theory was incorrect, there are no actual speech data after the errors.
I'll try to think of other possible causes. In the meantime, if you get the chance, could you try using other Unity speech recognition plugins on GitHub?

Hi, sorry I forgot to update. I think I was able to fix my issue but I'll do some more thorough testing to make sure. It turns out that when I received a result in OnResultReceived, I added a StopTextToSpeech call in there once all the processing was done, which included some extra code I added along with SpeechText.ForceStop. After changing the .ForceStop to .Cancel, the STT functionality now works as intended on both my samsung and pixel devices, and those errors are no longer appearing in logcat.
I'm not sure if that's the best solution, so I'll do more testing over the coming weeks, however, at the very least I know the issue was somewhat being caused by me improperly using the .ForceStop method.

Ah, glad to hear it. I'd recommend calling neither ForceStop nor Cancel in OnResultReceived. You could add a parameter to StopTextToSpeech specifying whether the source is OnResultReceived and if it's true, you can skip ForceStop/Cancel.


Changelog is largely useless

The current changelog of google-api-python-client is mostly useless, it does not say what has changed in the specific APIs. One would need to check the commit diffs to find out about this, but that would defeat the purpose of having a changelog in the first place.
Compare this to https://github.com/googleapis/python-secret-manager/blob/main/CHANGELOG.md or https://github.com/googleapis/google-auth-library-python/blob/main/CHANGELOG.md, where the changes are documented in a much more user-friendly way.
I also couldn't find any changelog for the individual APIs (e.g. at https://developers.google.com/sheets/api/guides/concepts or https://developers.google.com/sheets/api/reference/rest for the Sheets API). I'm wondering how can one find out about changes between versions.

Thanks for your suggestion! While this library is in maintenance mode (see the README), we have taken a note of your good idea and will keep it in mind as we work on our more modern Python client libraries in https://github.com/googleapis/google-cloud-python. Thank you!


Piotr/testing shelley transactions

Issue Number
#1672
Overview

2472454a33b9057db75ebb59903f6cc1b24f40e4
Move HW_WALLETS tests related to delegagation into StakePools scenarios

2d12434b0a32824c81cef1c18002ec526015dcab
Add HW_WALLETS API tests and CLI tests for Addresses, HW_Wallets, Transactions and Wallets for cardano-wallet-shelley

Comments
I have added few more tests which I thought should be working (HW_Wallets and some CLI tests for Addresses, Transactions, Addresses) for Shelley.
Getting few errors locally:
Failures:

  src/Test/Integration/Scenario/CLI/Shelley/Transactions.hs:362:9:
  1) CLI Specifications TRANS_CREATE_04 - Not enough money
       "Please enter your passphrase: *****************\nOk.\n" does not contain "I can't process this payment because there's not enough UTxO available in the wallet. The total UTxO sums up to 290001000 Lovelace, but I need 1000000 Lovelace (excluding fee amount) in order to proceed  with the payment."

  To rerun use: --match "/CLI Specifications/TRANS_CREATE_04 - Not enough money/"

  src/Test/Integration/Scenario/CLI/Shelley/Transactions.hs:391:13:
  2) CLI Specifications, TRANS_CREATE_05 - Invalid addresses, long hex
       "Please enter your passphrase: *****************\nI can't process this payment because there's not enough UTxO available in the wallet. The total UTxO sums up to 0 Lovelace, but I need 12 Lovelace (excluding fee amount) in order to proceed  with the payment.\n" does not contain "Unable to decode Address:"

  To rerun use: --match "/CLI Specifications/TRANS_CREATE_05 - Invalid addresses/long hex/"

  src/Test/Integration/Scenario/CLI/Shelley/Transactions.hs:613:9:
  3) CLI Specifications TRANS_ESTIMATE_07 - Not enough money
       "Ok.\n" does not contain "I can't process this payment because there's not enough UTxO available in the wallet. The total UTxO sums up to 290001000 Lovelace, but I need 1000000 Lovelace (excluding fee amount) in order to proceed  with the payment."

  To rerun use: --match "/CLI Specifications/TRANS_ESTIMATE_07 - Not enough money/"

  src/Test/Integration/Scenario/CLI/Shelley/Transactions.hs:627:13:
  4) CLI Specifications, TRANS_ESTIMATE_08 - Invalid addresses, long hex
       "I can't process this payment because there's not enough UTxO available in the wallet. The total UTxO sums up to 0 Lovelace, but I need 12 Lovelace (excluding fee amount) in order to proceed  with the payment.\n" does not contain "Unable to decode Address:"

  To rerun use: --match "/CLI Specifications/TRANS_ESTIMATE_08 - Invalid addresses/long hex/"

bors try

bors try

bors r+

bors r+


[BugFix] primary key table inconsistent snapshot for full clone and backup caused by compaction(#28062)

Problem:
When we make snapshot for full clone and backup, _lock will not be holded during get_applied_rowsets and make_snapshot_on_tablet_meta. This cause a problem, If compaction happen between get_applied_rowsets and make_snapshot_on_tablet_meta, the delvector get from make_snapshot_on_tablet_meta maybe generated by a larger minor version which is inconsistent with the rowset get from get_applied_rowsets.
Solution:
hold _lock during get_applied_rowsets and make_snapshot_on_tablet_meta
Fixes #issue
What type of PR is this:

[x] BugFix
[ ] Feature
[ ] Enhancement
[ ] Refactor
[ ] UT
[ ] Doc
[ ] Tool

Checklist:

[x] I have added test cases for my bug fix or my new feature
[ ] This pr will affect users' behaviors
[ ] This pr needs user documentation (for new or modified features or behaviors)

[ ] I have added documentation for my new feature or new function

Bugfix cherry-pick branch check:

[x] I have checked the version labels which the pr will be auto-backported to the target branch

[x] 3.1
[x] 3.0
[x] 2.5
[ ] 2.4

[FE PR Coverage Check]
:heart_eyes: pass : 0 / 0 (0%)

[FE PR Coverage Check]
:heart_eyes: pass : 0 / 0 (0%)

[FE PR Coverage Check]
:heart_eyes: pass : 0 / 0 (0%)

[FE PR Coverage Check]
:heart_eyes: pass : 0 / 0 (0%)

@Mergifyio backport branch-3.1

@Mergifyio backport branch-3.0

@Mergifyio backport branch-2.5

[FE PR Coverage Check]
:heart_eyes: pass : 0 / 0 (0%)


Add Mailhog to deployments

Catching emails going out from the instance is useful to validate some modules.
Mailhog will run in the same pod as odoo.
And its Web UI will be accessible via build-slug.mail.runboat.odoo-community.org, with a new discrete icon link next to odoo link on the builds cards:

Cool!

I just deployed this to runboat.odoo-community.org. Thanks for the contrib!


Docs 1861 deploy tomcat

3.x: Use MuleXmlBuilderContextListener instead of DeployableMuleXmlContextListener for tomcat embedded applications.

Looks good to me.

Looks good to me, too.


Offline/Authlib login support?

Considering that all minecraft accounts will be discontinued after march 10th, a launcher with offline or authlib login would be pretty much a requirement in order to play the game. This launcher seems like the perfect candidate for that modification/enhancement. Therefore I'm asking if it would be possible to add support for those login methods.

+1

+2

@Sobieskiandy @AlandelFresno @iAmInActions https://github.com/wilm281/mclaunch added demo support. if you look at the code, it can be modified fairly easily to also allow multiplayer support. i did not include it in the pr for obvious reasons. demo only in this pr

ye ok whatever i just went ahead and added multiplayer support too. only can join offline mode servers
mclaunch.zip
heres a video demonstration of it being used with optifine
https://github.com/mclaunch/mclaunch/assets/173095437/15c42976-a4a0-483b-850f-71ac6d31e560

i didnt realize audio was broken on minecraft
just fixed it
demo only version:
mclaunch.zip
multiplayer offline mode supported version:
mclaunch.zip


Visual detail: Scripts name highlighting

As the title says it's just a really little visual detail I'm talking about
In the script opened window the scripts are highlighted w/ a red like surface, but if the name is
too long to be completely contained the red surface doesn't highlight the complete name:
http://gyazo.govanify.com/grab/8ca4b6.png
For this reason I think the surface should be a little bit bigger, covering the whole area of the name, maybe by using a more rectagular shpaed transparent  selector

I'll give it a go, it should not be too hard to fix :)


Calling "skodaconnect.set_charge_limit" returns "Could not find associated coordinator for given vehicle"

Describe the bug
When calling the service "skodaconnect.set_charge_limit", it fails with "Could not find associated coordinator for given vehicle
".
I am just trying to call the service directly from developer tools. I have a Skoda Enyaq, and have also tried with other limits, such at 50.
service: skodaconnect.set_charge_limit
data:
device_id: 36xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxeae
limit: 100
Is this working in MySkoda app?*
Yes- but the app is so crap and unstable, it would be nice to do it from HA.
Latest working release
I have not tried to call the service in previous releases. I am currently using 1.2.8
Debug logs
Traceback (most recent call last):
File "/config/custom_components/skodaconnect/init.py", line 280, in get_car
dev_coordinator = hass.data[DOMAIN][conf_entry]['data'].coordinator
~~~~~~~~~~~~~~~~~^^^^^^^^^^^^
KeyError: '23cba6bd0c353ca6262129f26f927648'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/helpers/script.py", line 468, in _async_step
await getattr(self, handler)()
File "/usr/src/homeassistant/homeassistant/helpers/script.py", line 704, in _async_call_service_step
response_data = await self._async_run_long_action(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/helpers/script.py", line 666, in _async_run_long_action
return long_task.result()
^^^^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/core.py", line 2067, in async_call
response_data = await coro
^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/core.py", line 2104, in _execute_service
return await target(service_call)
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/config/custom_components/skodaconnect/init.py", line 376, in set_charge_limit
car = await get_car(service_call)
^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/config/custom_components/skodaconnect/init.py", line 282, in get_car
raise SkodaConfigException('Could not find associated coordinator for given vehicle')
skodaconnect.exceptions.SkodaConfigException: Could not find associated coordinator for given vehicle
Installation:

Hass OS 11.2, Core 2023.12.2

Additional context
The entities are working great, showing battery level, enabling climatisation and so on.

Fixed the issue by deleting the helpers I had created which used sensors from the skodaconnect integration.

I had the same issue. I added a template number entity (see following code) to be able to set it inside the UI and when I removed it, it worked calling the service from the developer tools.
template:
  - number:
      - name: enyaq_charge_limitation
        unique_id: "enyaq_charge_limitation"
        state: "{{ states('sensor.skoda_enyaq_minimum_charge_level') | int(0) }}"
        set_value:
          - service: skodaconnect.set_charge_limit
            data:
              limit: "{{ value | int(0) }}"
              device_id: <my-id>
        step: "10"
        min: "10"
        max: "100"

But the problem is that it only once. I did set it to 90 -> Send -> OK. Then changed it to 80 -> Send -> Error
Or at least once per 20 seconds or so then it did work again once. In the logs I found this:
websocket_api script: Error executing script. Unexpected error for call_service at pos 1: Charging action already in progress
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/helpers/script.py", line 476, in _async_step
    await getattr(self, handler)()
  File "/usr/src/homeassistant/homeassistant/helpers/script.py", line 713, in _async_call_service_step
    response_data = await self._async_run_long_action(
                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/helpers/script.py", line 675, in _async_run_long_action
    return long_task.result()
           ^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/core.py", line 2149, in async_call
    response_data = await coro
                    ^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/core.py", line 2186, in _execute_service
    return await target(service_call)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/config/custom_components/skodaconnect/__init__.py", line 380, in set_charge_limit
    state = await car.set_charge_limit(limit)
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/skodaconnect/vehicle.py", line 534, in set_charge_limit
    return await self.set_charger(data)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/skodaconnect/vehicle.py", line 443, in set_charger
    raise SkodaRequestInProgressException('Charging action already in progress')
skodaconnect.exceptions.SkodaRequestInProgressException: Charging action already in progress

Seems that the API requests are taking that long? Or Skoda/VW has some limitations on how often they might get called?
This might also explain why the Skoda App is that crappy :D
Would be great to know how I can still have my number-template-entity so that I can have a slider of stepper or something similar.

I had the same issue. I added a template number entity (see following code) to be able to set it inside the UI and when I removed it, it worked calling the service from the developer tools.
template:
  - number:
      - name: enyaq_charge_limitation
        unique_id: "enyaq_charge_limitation"
        state: "{{ states('sensor.skoda_enyaq_minimum_charge_level') | int(0) }}"
        set_value:
          - service: skodaconnect.set_charge_limit
            data:
              limit: "{{ value | int(0) }}"
              device_id: <my-id>
        step: "10"
        min: "10"
        max: "100"

But the problem is that it only once. I did set it to 90 -> Send -> OK. Then changed it to 80 -> Send -> Error Or at least once per 20 seconds or so then it did work again once. In the logs I found this:
websocket_api script: Error executing script. Unexpected error for call_service at pos 1: Charging action already in progress
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/helpers/script.py", line 476, in _async_step
    await getattr(self, handler)()
  File "/usr/src/homeassistant/homeassistant/helpers/script.py", line 713, in _async_call_service_step
    response_data = await self._async_run_long_action(
                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/helpers/script.py", line 675, in _async_run_long_action
    return long_task.result()
           ^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/core.py", line 2149, in async_call
    response_data = await coro
                    ^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/core.py", line 2186, in _execute_service
    return await target(service_call)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/config/custom_components/skodaconnect/__init__.py", line 380, in set_charge_limit
    state = await car.set_charge_limit(limit)
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/skodaconnect/vehicle.py", line 534, in set_charge_limit
    return await self.set_charger(data)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/skodaconnect/vehicle.py", line 443, in set_charger
    raise SkodaRequestInProgressException('Charging action already in progress')
skodaconnect.exceptions.SkodaRequestInProgressException: Charging action already in progress

Seems that the API requests are taking that long? Or Skoda/VW has some limitations on how often they might get called?
This might also explain why the Skoda App is that crappy :D
Would be great to know how I can still have my number-template-entity so that I can have a slider of stepper or something similar.

Some actions for older cars take a long time to complete, up to 3-5 minutes sometimes before some kind of timeout is reached in the backend if the vehicle doesn't respond.
But it's also possible that the integration got hung up thinking there's a request still being processed. In that case a reload of the integration should help.

You can use the sensor.skoda_enyaq_request_results to determine if there's any ongoing request (which will cause any additional request to fail with Charging action already in progress).
I've wrapped the actions I use often in scripts which use that sensor to block until there's no more request in progress.
E.g.
alias: Skoda - Turn off Charging and Wait
sequence:
  - if:
      - condition: state
        entity_id: switch.tmbj......_charging
        state: "on"
    then:
      - type: turn_off
        device_id: e9d855c76d63e49117ae0d255699c12f
        entity_id: switch.tmbj......_charging
        domain: switch
      - delay:
          hours: 0
          minutes: 1
          seconds: 0
          milliseconds: 0
      - wait_template: "{{ is_state('sensor.skoda_enyaq_request_results', 'Success') }}"
        continue_on_timeout: true
        timeout: "300"
mode: single
icon: mdi:battery-clock-outline

I can queue up scripts, right?

Yes, that's what the mode does in the script config. https://www.home-assistant.io/integrations/script/#script-modes

So the slider might work again then?

I gave up having a slider for setting the charge limit, partially for this. I just have buttons for 60,70,80,90 and 100 in a row, with confirmation on tap_action.

while it's waiting for the 60 to process, just skip the 70 all together as the 80 will override it anyway) in the integration itself?

No. At best the integration will raise a Charging action already in progress error. You can potentially achieve this with a script with mode: restart which starts by waiting until any current request has completed (by inspecting sensor.skoda_enyaq_request_results)

I don't know how sensitive the device_id

It's fine as far as I know. It's just an internal ID in HA. It's the VIN, which appears in sensor names, which I don't like being public.


ImportError: cannot import name abs

Rasa Core version: v 0.11
Python version:  2.7.12
Operating system (windows, osx, ...):  ubuntu
Issue:
i am using code from started kit https://github.com/RasaHQ/starter-pack-rasa-stack
But when I try to ran make train-core  I get such error stacktrace:
python -m rasa_core.train -d domain.yml -s data/stories.md -o models/current/dialogue --epochs 200 Traceback (most recent call last):   File "/usr/lib/python2.7/runpy.py", line 174, in _run_module_as_main     "__main__", fname, loader, pkg_name)   File "/usr/lib/python2.7/runpy.py", line 72, in _run_code     exec code in run_globals   File "/home/serg/.local/lib/python2.7/site-packages/rasa_core/train.py", line 12, in <module>     from rasa_core.agent import Agent   File "/home/serg/.local/lib/python2.7/site-packages/rasa_core/agent.py", line 31, in <module>     from rasa_core.policies import Policy   File "/home/serg/.local/lib/python2.7/site-packages/rasa_core/policies/__init__.py", line 9, in <module>     from rasa_core.policies.keras_policy import KerasPolicy   File "/home/serg/.local/lib/python2.7/site-packages/rasa_core/policies/keras_policy.py", line 11, in <module>     import tensorflow as tf   File "/home/serg/.local/lib/python2.7/site-packages/tensorflow/__init__.py", line 22, in <module>     from tensorflow.python import pywrap_tensorflow  # pylint: disable=unused-import   File "/home/serg/.local/lib/python2.7/site-packages/tensorflow/python/__init__.py", line 81, in <module>     from tensorflow.python import keras   File "/home/serg/.local/lib/python2.7/site-packages/tensorflow/python/keras/__init__.py", line 24, in <module>     from tensorflow.python.keras import activations   File "/home/serg/.local/lib/python2.7/site-packages/tensorflow/python/keras/activations/__init__.py", line 22, in <module>     from tensorflow.python.keras._impl.keras.activations import elu   File "/home/serg/.local/lib/python2.7/site-packages/tensorflow/python/keras/_impl/keras/__init__.py", line 21, in <module>     from tensorflow.python.keras._impl.keras import activations   File "/home/serg/.local/lib/python2.7/site-packages/tensorflow/python/keras/_impl/keras/activations.py", line 23, in <module>     from tensorflow.python.keras._impl.keras import backend as K   File "/home/serg/.local/lib/python2.7/site-packages/tensorflow/python/keras/_impl/keras/backend.py", line 38, in <module>     from tensorflow.python.layers import base as tf_base_layers   File "/home/serg/.local/lib/python2.7/site-packages/tensorflow/python/layers/base.py", line 25, in <module>     from tensorflow.python.keras.engine import base_layer   File "/home/serg/.local/lib/python2.7/site-packages/tensorflow/python/keras/engine/__init__.py", line 23, in <module>     from tensorflow.python.keras.engine.base_layer import InputSpec   File "/home/serg/.local/lib/python2.7/site-packages/tensorflow/python/keras/engine/base_layer.py", line 33, in <module>     from tensorflow.python.keras import backend   File "/home/serg/.local/lib/python2.7/site-packages/tensorflow/python/keras/backend/__init__.py", line 22, in <module>     from tensorflow.python.keras._impl.keras.backend import abs ImportError: cannot import name abs
Content of domain file (if used & relevant):

solved by : sudo pip install -U rasa_core


   @ Enzyme ~/.julia/packages/Enzyme/TiboG/src/Enzyme.jl:1132
 [9] top-level scope
   @ REPL[60]:1
Some type information was truncated. Use `show(err)` to see complete types.

Types like Hermitian and Symmetric break the assumption made in onehot that all elements of the array are independent variables that can be setindex!ed freely. Not sure if there's some general solution to this, but maybe catering for stdlib types would be enough?

@ExpandingMan would you be interested in taking a stab at this?

There's a complicated but efficient solution in which onehot is smart enough only to take the independent basis elements.  The real difficulty I see with that is that the output side of gradient would have to know about it to combine the results, which can potentially significantly increase its complexity.
The low hanging fruit would be to just tweak onehot so it treats these like they are just Matrix in whatever is the simplest way possible.  I'll take a look at it.


Only fetch Hcn feature set once

When looking at kube-proxy recently, I noticed that while the sync.Once to only
log the feature set and version is helpful, we'd still call into HNS to get
the version every single time, as well as unneccessarily checking the version
ranges for every feature anytime any of the hcn.IsThingSupported functions
are called.
This change moves all of the code for hcn.GetSupportedFeatures inside the
sync.Once and will assign a global featuresSupported variable with the
supported features after the call.
We'll need to cut a new release of the shim and vendor it in to k8s. Currently we don't even have the original logging improvement in k8s at the moment so might as well improve it beforehand.
Signed-off-by: Daniel Canter<EMAIL_ADDRESS>

lgtm
It looks printing was configured to do this only once but not the whole thing. Any ideas why?

@jsturtevant The original ask was to fix the redundant log spam, and that's what I tunnel visioned on is all 😄


Fix stack update deadlock.

https://github.com/remind101/empire/pull/892 introduced a bug where, when we would hit the lockWait timeout, the call to update the stack would deadlock (trying to send on a channel that had no consumers), preventing the lock from ever getting unlocked. The fix was to simply use a buffered submitted channel. Channels are fun...
Basically didn't have any coverage for this case, so I added some tests for the different timeout scenarios.

👍


Enhance text rendering

This provides several modifications, primarily in FontOutlines.cs, that enhance text rendering as follows:

Adds a depth option for stacking text in z
Draws text strings that enter from outside the frame, which were not being drawn before
Replaces linq expressions (for look-ups and list creation) with faster methods

Reviewing the files before submitting this pull request, I noticed I had left fields that were used during testing.
The following lines in FontOutlines.cs can be removed from this request:
    // Oops -- Remove these fields that were used during testing
    long totalDrawTextTicks = 0;
    int totalDrawTestCalls = 0;
    double baselineTicksPerCall = 0;

Another great addition thank-you!


Decompiler.exe fails to decompile vmdl_c files

Describe the bug
Attempting to decompile a vmdl_c file causes an exception to occur.
It seems that version 0.4.0 decompiled the vmdl_c to a vmdl file correctly.
However, this does not retrieve the 'mesh' or 'phys' dmx files.
I assume this might be what the 5.0 patch note "Added vmdl_c decompilation to modeldoc vmdl" might be referring to.
Relevant log output or exception with stacktrace
Decompiler.exe -i "C:\Program Files (x86)\Steam\steamapps\common\Counter-Strike Global Offensive\game\bin\RadGen\temp\vrf_decompiled_models\test\materials\cs_italy\signs\store\italy_bikeshop_sign_1.vmdl_c" -o "C:\Program Files (x86)\Steam\steamapps\common\Counter-Strike Global Offensive\game\bin\RadGen\temp\vrf_decompiled_models\test\materials\cs_italy\signs\store\italy_bikeshop_sign_1.vmdl" -d

[1/1] C:\Program Files (x86)\Steam\steamapps\common\Counter-Strike Global Offensive\game\bin\RadGen\temp\vrf_decompiled_models\test\materials\cs_italy\signs\store\italy_bikeshop_sign_1.vmdl_c
File: C:\Program Files (x86)\Steam\steamapps\common\Counter-Strike Global Offensive\game\bin\RadGen\temp\vrf_decompiled_models\test\materials\cs_italy\signs\store\italy_bikeshop_sign_1.vmdl_c
System.ArgumentNullException: Value cannot be null. (Parameter 'fileLoader')
   at System.ArgumentNullException.Throw(String paramName)
   at System.ArgumentNullException.ThrowIfNull(Object argument, String paramName)
   at ValveResourceFormat.IO.ModelExtract..ctor(Model model, IFileLoader fileLoader) in D:\a\ValveResourceFormat\ValveResourceFormat\ValveResourceFormat\IO\ModelExtract.cs:line 61
   at ValveResourceFormat.IO.FileExtract.Extract(Resource resource, IFileLoader fileLoader) in D:\a\ValveResourceFormat\ValveResourceFormat\ValveResourceFormat\IO\FileExtract.cs:line 135
   at Decompiler.Decompiler.ProcessFile(String path, Stream stream, String originalPath) in D:\a\ValveResourceFormat\ValveResourceFormat\Decompiler\Decompiler.cs:line 433
        Resource Type: Model [Version 1] [Header Version: 12]
        File Size: 29591 bytes

--- Resource External Refs: ---
        Id:               Resource Name:
        A126CB2ED6B96A3E  materials/cs_italy/signs/store/italy_bikeshop_sign_1.vmat
        7EFF100CD88CAE5F  materials/materials/glass/glass_panels_dirty_01.vmat

--- (No Deferred Resource References Found)

--- Resource Blocks: Count 7 ---
        -- Block: MDAT  Size: 831    bytes [Offset:    112]
        -- Block: MBUF  Size: 12800  bytes [Offset:    944]
        -- Block: PHYS  Size: 13221  bytes [Offset:  13744]
        -- Block: CTRL  Size: 287    bytes [Offset:  26976]
        -- Block: RERL  Size: 151    bytes [Offset:  27264]
        -- Block: RED2  Size: 1350   bytes [Offset:  27424]
        -- Block: DATA  Size: 807    bytes [Offset:  28784]

What game does this happen in
CS2
Reference file in a Source 2 game
...\materials\cs_italy\signs\store\italy_bikeshop_sign_1.vmdl_c
Expected behavior
Correctly decompiles the vmdl_c file to export the vmdl file, along with the 'mesh' & 'phys' folders that both contain a dmx file.
What version of VRF are you using? On what platform?
5.0

Test latest unstable.

Cheers, attempted this using https://github.com/ValveResourceFormat/ValveResourceFormat/actions/runs/6443378697 but the problem persists.
I have been extracting the files from the vpk initially before attempting to decompile them, as I also need to be able to decompile vmdl_c files that are not from the vpk

Cli never supported that (yet), exporting from vpk with cli or gui should work.

Ah brill, thanks. Do you have an idea of when that might be added?


[OpenShift][api][SIMS #172]BCeID Soap Call to get account details

Partial implementation of the SIMS #172
Implemented

BCeID Web Service SOAP request to get BCeID Information (first name, surname, email, institution legal name, etc.);
E2E Test to test the BCeID Soap call considering the "happy path";
Created an OpenShift secret file to store sensitive information for any API related secret;
Create a new API endpoint "/api/users/bceid-account" that returns the BCeID account information for the currently logged user.
To be implemented
More E2E tests to test some some "not so happy path" scenarios;
Check if the SOAP call can be done with the "user guid" instead of "user name" (under investigation);
Check possible performance improvements on soap client creation;
Documentation on git with an overview about BCeID Web Service usage;

Worked with @2011sandeepraj in a meeting to discuss the questions and comments.
He provided his approval for the PR during the meeting.