Synthesis failed for nodejs-dlp

Hello! Autosynth couldn't regenerate nodejs-dlp. :broken_heart:
Here's the output from running synth.py:
b'3 autosynth [DEBUG] > Running: git checkout autosynth-synthtool-22\nSwitched to branch \'autosynth-synthtool-22\'\n2020-06-05 04:26:18,778 autosynth [INFO] > Running synthtool\n2020-06-05 04:26:18,778 autosynth [INFO] > [\'/tmpfs/src/github/synthtool/env/bin/python3\', \'-m\', \'synthtool\', \'--metadata\', \'synth.metadata\', \'synth.py\', \'--\']\n2020-06-05 04:26:18,780 autosynth [DEBUG] > Running: /tmpfs/src/github/synthtool/env/bin/python3 -m synthtool --metadata synth.metadata synth.py --\n2020-06-05 04:26:18,983 synthtool [DEBUG] > Executing /home/kbuilder/.cache/synthtool/nodejs-dlp/synth.py.\nOn branch autosynth-synthtool-22\nnothing to commit, working tree clean\n2020-06-05 04:26:19,113 synthtool [DEBUG] > Ensuring dependencies.\n2020-06-05 04:26:19,118 synthtool [DEBUG] > Cloning googleapis.\n2020-06-05 04:26:19,120 synthtool [DEBUG] > Using precloned repo /home/kbuilder/.cache/synthtool/googleapis\n2020-06-05 04:26:19,123 synthtool [DEBUG] > 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:26:20,007 synthtool [DEBUG] > Generating code for: google/privacy/dlp/v2.\n2020-06-05 04:26:20,865 synthtool [DEBUG] > 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-dlp/synth.py", line 31, in <module>\n    extra_proto_files=[\'google/cloud/common_resources.proto\'],\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/tmpxxad5m_5 is empty.\n2020-06-05 04:26:20,905 autosynth [ERROR] > Synthesis failed\n2020-06-05 04:26:20,905 autosynth [DEBUG] > Running: git reset --hard HEAD\nHEAD is now at 6711f62 chore: release 3.0.0 (#441)\n2020-06-05 04:26:20,911 autosynth [DEBUG] > Running: git checkout autosynth-synthtool\nSwitched to branch \'autosynth-synthtool\'\n2020-06-05 04:26:20,916 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:26:21,074 autosynth [DEBUG] > Running: git checkout 6711f62738058efaf3e565ce6e36b00e0347267c\nNote: checking out \'6711f62738058efaf3e565ce6e36b00e0347267c\'.\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 6711f62 chore: release 3.0.0 (#441)\n2020-06-05 04:26:21,079 autosynth [DEBUG] > Running: git checkout cd804bab06e46dd1a4f16c32155fd3cddb931b52\nPrevious HEAD position was dec32041 Upgrade protoc-docs-plugin version to 0.7.0 to fix unstable docstrings.\nHEAD is now at cd804bab docs: cleaned docs for the Agents service and resource.\n2020-06-05 04:26:21,129 autosynth [DEBUG] > Running: git checkout d53a5b45c46920932dbe7d0a95e10d8b58933dae\nHEAD is now at d53a5b4 docs: improve README (#600)\n2020-06-05 04:26:21,135 autosynth [DEBUG] > Running: git branch -f autosynth-60\n2020-06-05 04:26:21,139 autosynth [DEBUG] > Running: git checkout autosynth-60\nSwitched to branch \'autosynth-60\'\n2020-06-05 04:26:21,143 autosynth [INFO] > Running synthtool\n2020-06-05 04:26:21,143 autosynth [INFO] > [\'/tmpfs/src/github/synthtool/env/bin/python3\', \'-m\', \'synthtool\', \'--metadata\', \'synth.metadata\', \'synth.py\', \'--\']\n2020-06-05 04:26:21,145 autosynth [DEBUG] > Running: /tmpfs/src/github/synthtool/env/bin/python3 -m synthtool --metadata synth.metadata synth.py --\n2020-06-05 04:26:21,348 synthtool [DEBUG] > Executing /home/kbuilder/.cache/synthtool/nodejs-dlp/synth.py.\nOn branch autosynth-60\nnothing to commit, working tree clean\n2020-06-05 04:26:21,477 synthtool [DEBUG] > Ensuring dependencies.\n2020-06-05 04:26:21,482 synthtool [DEBUG] > Cloning googleapis.\n2020-06-05 04:26:21,483 synthtool [DEBUG] > Using precloned repo /home/kbuilder/.cache/synthtool/googleapis\n2020-06-05 04:26:21,486 synthtool [DEBUG] > 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:26:22,352 synthtool [DEBUG] > Generating code for: google/privacy/dlp/v2.\n2020-06-05 04:26:23,169 synthtool [DEBUG] > 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-dlp/synth.py", line 31, in <module>\n    extra_proto_files=[\'google/cloud/common_resources.proto\'],\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/tmp4j_rycrl is empty.\n2020-06-05 04:26:23,209 autosynth [ERROR] > Synthesis failed\n2020-06-05 04:26:23,209 autosynth [DEBUG] > Running: git reset --hard HEAD\nHEAD is now at 6711f62 chore: release 3.0.0 (#441)\n2020-06-05 04:26:23,215 autosynth [DEBUG] > Running: git checkout autosynth\nSwitched to branch \'autosynth\'\n2020-06-05 04:26:23,219 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-dlp. :sob:
Here's the output from running synth.py:
b'2 autosynth [DEBUG] > Running: git checkout autosynth-synthtool-22\nSwitched to branch \'autosynth-synthtool-22\'\n2020-06-05 10:17:02,036 autosynth [INFO] > Running synthtool\n2020-06-05 10:17:02,036 autosynth [INFO] > [\'/tmpfs/src/github/synthtool/env/bin/python3\', \'-m\', \'synthtool\', \'--metadata\', \'synth.metadata\', \'synth.py\', \'--\']\n2020-06-05 10:17:02,038 autosynth [DEBUG] > Running: /tmpfs/src/github/synthtool/env/bin/python3 -m synthtool --metadata synth.metadata synth.py --\n2020-06-05 10:17:02,276 synthtool [DEBUG] > Executing /home/kbuilder/.cache/synthtool/nodejs-dlp/synth.py.\nOn branch autosynth-synthtool-22\nnothing to commit, working tree clean\n2020-06-05 10:17:02,425 synthtool [DEBUG] > Ensuring dependencies.\n2020-06-05 10:17:02,430 synthtool [DEBUG] > Cloning googleapis.\n2020-06-05 10:17:02,431 synthtool [DEBUG] > Using precloned repo /home/kbuilder/.cache/synthtool/googleapis\n2020-06-05 10:17:02,435 synthtool [DEBUG] > 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:17:03,352 synthtool [DEBUG] > Generating code for: google/privacy/dlp/v2.\n2020-06-05 10:17:04,274 synthtool [DEBUG] > 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-dlp/synth.py", line 31, in <module>\n    extra_proto_files=[\'google/cloud/common_resources.proto\'],\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/tmp_u_mus27 is empty.\n2020-06-05 10:17:04,318 autosynth [ERROR] > Synthesis failed\n2020-06-05 10:17:04,318 autosynth [DEBUG] > Running: git reset --hard HEAD\nHEAD is now at 6711f62 chore: release 3.0.0 (#441)\n2020-06-05 10:17:04,323 autosynth [DEBUG] > Running: git checkout autosynth-synthtool\nSwitched to branch \'autosynth-synthtool\'\n2020-06-05 10:17:04,328 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:17:04,472 autosynth [DEBUG] > Running: git checkout 6711f62738058efaf3e565ce6e36b00e0347267c\nNote: checking out \'6711f62738058efaf3e565ce6e36b00e0347267c\'.\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 6711f62 chore: release 3.0.0 (#441)\n2020-06-05 10:17:04,477 autosynth [DEBUG] > Running: git checkout cd804bab06e46dd1a4f16c32155fd3cddb931b52\nPrevious HEAD position was dec32041 Upgrade protoc-docs-plugin version to 0.7.0 to fix unstable docstrings.\nHEAD is now at cd804bab docs: cleaned docs for the Agents service and resource.\n2020-06-05 10:17:04,525 autosynth [DEBUG] > Running: git checkout d53a5b45c46920932dbe7d0a95e10d8b58933dae\nHEAD is now at d53a5b4 docs: improve README (#600)\n2020-06-05 10:17:04,531 autosynth [DEBUG] > Running: git branch -f autosynth-60\n2020-06-05 10:17:04,535 autosynth [DEBUG] > Running: git checkout autosynth-60\nSwitched to branch \'autosynth-60\'\n2020-06-05 10:17:04,540 autosynth [INFO] > Running synthtool\n2020-06-05 10:17:04,540 autosynth [INFO] > [\'/tmpfs/src/github/synthtool/env/bin/python3\', \'-m\', \'synthtool\', \'--metadata\', \'synth.metadata\', \'synth.py\', \'--\']\n2020-06-05 10:17:04,542 autosynth [DEBUG] > Running: /tmpfs/src/github/synthtool/env/bin/python3 -m synthtool --metadata synth.metadata synth.py --\n2020-06-05 10:17:04,775 synthtool [DEBUG] > Executing /home/kbuilder/.cache/synthtool/nodejs-dlp/synth.py.\nOn branch autosynth-60\nnothing to commit, working tree clean\n2020-06-05 10:17:04,922 synthtool [DEBUG] > Ensuring dependencies.\n2020-06-05 10:17:04,927 synthtool [DEBUG] > Cloning googleapis.\n2020-06-05 10:17:04,928 synthtool [DEBUG] > Using precloned repo /home/kbuilder/.cache/synthtool/googleapis\n2020-06-05 10:17:04,931 synthtool [DEBUG] > 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:17:05,836 synthtool [DEBUG] > Generating code for: google/privacy/dlp/v2.\n2020-06-05 10:17:06,725 synthtool [DEBUG] > 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-dlp/synth.py", line 31, in <module>\n    extra_proto_files=[\'google/cloud/common_resources.proto\'],\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/tmpgnbg7ihs is empty.\n2020-06-05 10:17:06,770 autosynth [ERROR] > Synthesis failed\n2020-06-05 10:17:06,771 autosynth [DEBUG] > Running: git reset --hard HEAD\nHEAD is now at 6711f62 chore: release 3.0.0 (#441)\n2020-06-05 10:17:06,776 autosynth [DEBUG] > Running: git checkout autosynth\nSwitched to branch \'autosynth\'\n2020-06-05 10:17:06,781 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-dlp. :sob:
Here's the output from running synth.py:
e 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-dlp/synth.py", line 31, in <module>
    extra_proto_files=['google/cloud/common_resources.proto'],
  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/tmpk75fuqv8 is empty.
2020-06-05 15:43:11,736 autosynth [ERROR] > Synthesis failed
2020-06-05 15:43:11,736 autosynth [DEBUG] > Running: git reset --hard HEAD
HEAD is now at 6711f62 chore: release 3.0.0 (#441)
2020-06-05 15:43:11,742 autosynth [DEBUG] > Running: git checkout autosynth-synthtool
Switched to branch 'autosynth-synthtool'
2020-06-05 15:43:11,746 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:43:11,885 autosynth [DEBUG] > Running: git checkout 6711f62738058efaf3e565ce6e36b00e0347267c
Note: checking out '6711f62738058efaf3e565ce6e36b00e0347267c'.

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 6711f62 chore: release 3.0.0 (#441)
2020-06-05 15:43:11,890 autosynth [DEBUG] > Running: git checkout 40a354b0f47454be4986f9db504cca4d4371c8c3
Previous HEAD position was dec32041 Upgrade protoc-docs-plugin version to 0.7.0 to fix unstable docstrings.
HEAD is now at 40a354b0 chore: add protoc proto3_optional flag in bazelrc
2020-06-05 15:43:11,943 autosynth [DEBUG] > Running: git checkout 9c2913e1831eb00fa01317f3fea4ce25d3f657eb
HEAD is now at 9c2913e feat: show output from microgenerator runs (#575)
2020-06-05 15:43:11,948 autosynth [DEBUG] > Running: git branch -f autosynth-67
2020-06-05 15:43:11,951 autosynth [DEBUG] > Running: git checkout autosynth-67
Switched to branch 'autosynth-67'
2020-06-05 15:43:11,955 autosynth [INFO] > Running synthtool
2020-06-05 15:43:11,955 autosynth [INFO] > ['/tmpfs/src/github/synthtool/env/bin/python3', '-m', 'synthtool', '--metadata', 'synth.metadata', 'synth.py', '--']
2020-06-05 15:43:11,957 autosynth [DEBUG] > Running: /tmpfs/src/github/synthtool/env/bin/python3 -m synthtool --metadata synth.metadata synth.py --
2020-06-05 15:43:12,186 synthtool [DEBUG] > Executing /home/kbuilder/.cache/synthtool/nodejs-dlp/synth.py.
On branch autosynth-67
nothing to commit, working tree clean
2020-06-05 15:43:12,322 synthtool [DEBUG] > Ensuring dependencies.
2020-06-05 15:43:12,327 synthtool [DEBUG] > Cloning googleapis.
2020-06-05 15:43:12,328 synthtool [DEBUG] > Using precloned repo /home/kbuilder/.cache/synthtool/googleapis
2020-06-05 15:43:12,331 synthtool [DEBUG] > 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:43:13,250 synthtool [DEBUG] > Generating code for: google/privacy/dlp/v2.
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/privacy/dlp/v2/dlp_grpc_service_config.json"',
    '--typescript_gapic_opt="package-name=@google-cloud/dlp"',
    '--experimental_allow_proto3_optional',
    '-I/in',
    '/in/google/cloud/common_resources.proto',
    '/in/google/privacy/dlp/v2/dlp.proto',
    '/in/google/privacy/dlp/v2/storage.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:43:14,089 synthtool [DEBUG] > 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-dlp/synth.py", line 31, in <module>
    extra_proto_files=['google/cloud/common_resources.proto'],
  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/tmpi0znfi2w is empty.
2020-06-05 15:43:14,125 autosynth [ERROR] > Synthesis failed
2020-06-05 15:43:14,125 autosynth [DEBUG] > Running: git reset --hard HEAD
HEAD is now at 6711f62 chore: release 3.0.0 (#441)
2020-06-05 15:43:14,131 autosynth [DEBUG] > Running: git checkout autosynth
Switched to branch 'autosynth'
2020-06-05 15:43:14,135 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:


Create progress_tracker.html

The HTML creates a container with a progress bar and circles representing each stage of the application. A button allows users to move to the next stage.

Issues Identification
Closes: #(issue number)
Description
Summary
A brief description of what this pull request does and why it is needed.
Details
Include any detailed information about the changes in this pull request.
Types of Changes
Please check the boxes that apply

[ ] Bugfix (non-breaking change that fixes an issue)
[ ] New feature (non-breaking change that adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] Documentation update (Documentation content changed)
[ ] Other (please describe):

Checklist
Please check the boxes that apply

[x] My code follows the style guidelines of this project
[x] I have performed a self-review of my own code
[x] I have commented my code, particularly in hard-to-understand areas
[x] I have made corresponding changes to the documentation
[x] My changes generate no new warnings
[x] My changes do not break the current system and pass all existing test cases
[x] I have added tests that prove my fix is effective or that my feature works
[x] New and existing unit tests pass locally with my changes

Screenshots
If applicable, please attach screenshots of the changes made to the user interface.
Additional Information
Please provide any other information that is relevant to this pull request.

Issue number ??


Update permissions to include full set of permissions

Our event permissions page in stripe apps is missing all permissions available for merchants to add.
The full set is on this page: https://stripe.com/docs/security/permissions
It looks like mostly write permissions are missing.
This particularly important to update for CE migrations who need to ensure their permissions capture all the ones necessary to ensure their extension continues to operate in the same capacity based on what API calls they're making.

Re-opening as we still haven't landed this.


feat: add useLoadingOvertime hook

if you need to do something when the loading time exceeds the specified time, refine provides the useLoadingOvertime hook. It returns the elapsed time in milliseconds.
const { elapsedTime } = useLoadingOvertime({
   isLoading,
   interval: 5000,
   onInterval(elapsedInterval, context) {
       console.log("loading overtime", elapsedInterval, context);
   },
});

Test plan (required)

Self Check before Merge
Please check all items below before review.

[x] Corresponding issues are created/updated or not needed
[x] Docs are updated/provided or not needed
[x] Examples are updated/provided or not needed
[x] TypeScript definitions are updated/provided or not needed
[x] Tests are updated/provided or not needed
[x] Changesets are provided or not needed

I didn't find the useLoadingOvertime hook. Am I missing something?

I didn't find the useLoadingOvertime hook. Am I missing something?

We don't have a separate documentation for that and kept it internal for now.


New feature, Open URLs from clipboard but don't load until tab is selected

When opening lots of urls from clipboard, it's much better to lazy load them.

The milestone for this issue (v2.3.0) should be changed?


[1.0] Promise interruption

Promise interruption
As new library is using only Promise based API we need to make sure that
it is possible to cancel any operation in the most convenient way. Current
implementation supports transactionId field which can be used to cancel
any Promise. Most of a time it is convenient to cancel Promises due to
timeouts or in groups. For example if there are two functions blocked on
Buffer, cancelling or closing it should cancel all pending promises
related to it.
All APIs currently accept last transactionId parameter. There is one
function to cancel every  Promise based on transactionId. However in
such situation it is inconvenient in more complex situation:
async function f {
    ...
    const transactionId = "xx"
    setTimeout(function() {
        cancel(transactionId)
    }, 1000)
    const value = await takeLatest(buffer, transactionId)
    ...
}

We can extend cancellation API to be an object with additional fields:
type CancelOptions = {
     promiseId?: string,
     timeout?: number,
     ignoreCancelled?: boolean
}

Most common cancellation cases will be handled properly:
async function f {
    ...
    const value = await takeLatest(buffer, { timeout: 1000 })
    ...
}

Additionally we can reuse this object and merge it with other options in other functions such as scanning:
startDeviceScan(null, { allowDuplicates: true, timeout: 5000 })`

When promise can return reasonable value instead of an cancelled error (empty array, null value etc.)
we can use additional option to do that:
const values = await takeLatestChunk(buffer, 10, { timeout: 1000, ignoreCancelled: true })

Above function will return 10 values or lower number of values accumulated in 1 sec. Without
ignoredCancelled option it would return an error.

It's not clear to me how will CancelOptions.ignoreCancelled will work with different APIs.

When Cancelled error is about to be emitted due to manual cancel call or timeout being triggered and function has sensible default return value, promise resolves with it. In the end, any function which will use this parameter will have note in documentation how it behaves.


What is the best way to close db connection in CodeIgniter ?

Codeigniter closes the db connection by itself you need not have to worry about it. But  can close it by using
$this->db->close()

Thanks karanpepi for Answer .
But I have two question

connection will release or abort after using $this->db->close() ?
is there other way ?

Please ask support questions on our forum.
We use github for bug tracking.


Why No Folder?? (Stage Editor 1.0)

Describe your bug here.
So, when i go into stage editor and open the directory for an image, after i use the directory folder ting or whatever, i can't open it again with any of the buttons. so its impossible to save custom images as stages.
Command Prompt/Terminal logs (if existing)
No response
Are you modding a build from source or with Lua?
Source
What is your build target?
Windows
Did you edit anything in this build? If so, mention or summarize your changes.
No.

I've already found out, lol.

웃


Styling issues with Chartist + VueJs + Typescript

I am following the documentation provided here for a simple line chart. All the dependent packages were added using yarn and could it be possible that the attached css/scss isnt bootstrapped correctly?
Issue
The rendered chart is all black and ugly as seen in the screenshot possibly because of missing css, not sure.
Packages used
"dependencies": {
 "chartist": "^0.11.0",
 "vue": "2.5.0",
 "vue-typed": "git+https://github.com/icfr/vue-typed.git#update_vue",
 "vuetify": "^0.17.6"
 }
 "devDependencies": {
      "@types/chartist": "^0.9.38"
}

VueJs Template
  <v-content>
     <v-container grid-list-xl>

Line chart using chartist.js

     </v-container>
   </v-content>
</template>

Ts file
import { Component, Prop } from "vue-typed";
import * as Chartist from "chartist";
const template = require("./linechart.vue");

export default class ChartistLineChart extends Vue {
mounted() {
    let chart = this.$el.getElementsByClassName("ct-chart")[0];
    let data: Chartist.IChartistData = {
        labels: ["January", "February", "March", "April", "May", "June", "July"],
        series: [[740, 790, 720, 900, 890, 880, 840],
                 [140, 390, 100, 900, 190, 180, 400]
                ]
    };
    let options: Chartist.ILineChartOptions = {
        fullWidth: true,
        chartPadding: {
            right: 40
          }
    };
    let lineChart = new Chartist.Line(chart, data, options);
}

Note

Upon inspecting (F12 chrome dev tools) the rendered html and forcibly adding this style sheet
<link rel="stylesheet" href="https://s3-us-west-2.amazonaws.com/s.cdpn.io/85781/chartist-0.0.2.min.css"> to the page - seems to make the graph prettier, confirming it is some kind of boostrapping issue.

For others hitting this question please include the following statement in your typescript file and the equivalent in ES6 or others.
const s = require("chartist/dist/scss/chartist.scss");
Upon adding the above statement, the rendered chart looks slightly better , if not great


Set request options & rewrite updater with golang

Set request options when init. e.g. timeout.
Rewrite updater with golang. No .net framework dependence on win7.
Add exec error callback.

Thanks for your PR, I will test and merge as soon as possible.


ICA AROMA misclassifications

ICA AROMA sometimes classifies components in a way that one might argue is incorrect (judging from their spatial distribution). This could be intrinsic to ICA AROMA itself (imperfection of the classifier), but it might be worth checking if there is no funny business with the orientation of input files and templates used by ICA AROMA.
From ds000243/reportlets/fmriprep/sub-032/func/sub-032_task-rest_run-1_bold_ica_aroma.svg

From ds000243/reportlets/fmriprep/sub-042/func/sub-042_task-rest_run-2_bold_ica_aroma.svg:

From your expert point of view, what could be the fix for this?

This could be intrinsic to ICA AROMA itself (imperfection of the classifier), but it might be worth checking if there are no issues with the orientation of input files and templates used by ICA AROMA.

I discussed this with @maartenmennes:

The first two examples (classified as noise) is something that you would expect from ICA AROMA since the spatial pattern is close to the edge of the brain.
The third example (classified as signal) is also something that should be expected since ICA AROMA was trained to deal with motion related noise - not the physiological artefacts.
It would be good to add another ICA step (with visualization) - run on the nonaggressive outputs of ICA AROMA. This would help to show if the denoising preserved mayor brain networks.

I would still double check if the brain edge and tissue class maps included in ICA AROMA still overlap well with data we feed into it (and there is no funny business going on with headers).

Just to clarify: the first two examples are not necessarily misclassifications by ICA-AROMA. Obviously, there are going to be components where everybody agrees (including the classifier) that they are noise. On the other side you will have components that will cast a bit more doubt regarding their nature. The first two could be examples of that.
Yes, the look like motor components, but their spatial pattern is very edge-related (or cortex specific depending on your point of view). My guess is that AROMA classified these based on the combination of correlation with the motion parameters and the edge fraction. See the LDA feature, the left graph in Figure 2 of the AROMA paper. In fact, that figure actually illustrates a couple of potential 'misclassifications'.

I think it is safe to close the question after a long time inactive. Please feel free to reopen if appropriate.


Question: is it possible to use to an authentication token?

is there a way to pass a token as parameter in the URL, for example like this: https://ipam.domain/api/?token=xxx ?
Thank you
BR

@pavel-z1

Hi @smougin
Authentication logic is provided in phpipam-sdk-go
Here is the source code
You can try to set empty username and set PHPIPAM API app toke in the password option
Also probably need to configure PHPIPAM API to use "SSL with App code token" in the App security
I have not tested this authorization method
If you need to add a modification to the authorization source code, you can create a Pull Request

Hi @pavel-z1 ,
It works fine with empty username and token. "SSL with App code token" is indeed required.
Thank you


Pin messages

https://core.telegram.org/bots/api#pinchatmessage
Greetings

@Tievodj thanks for your suggestion, will be added in the upcoming release!

@Tievodj implemented in #105 and will be released today :rocket:


Break up misk module

See also #1044
The misk module currently contains several groups of things:

Relatively dependency free things: clustering, config, environment, metrics(?), token gen, etc
Clients: misk.client, including TypedHttpClient, etc
Server: misk.web.jetty, including some other helpers
Actions: most of the existing misk module code; anything that touches WebAction. clients also depend on this in tests today.

We should separate the misk module into something like these four pieces:
misk-core
misk-server
misk-client
misk-actions
Additionally we should merge misk-inject into misk-core

Additionally we should merge misk-inject into misk-core

what is the benefit of doing this? just less modules and there isn't a high probability you just want our guice code?

misk-actions

why can't this be in misk-server? tests probably need the misk-server stuff if they want to run a real app
this sounds reasonable to me. It would be nice to give guidance about the modules, especially something like misk-core. is that just everything that is shared between misk-client and misk-server?

Additionally we should merge misk-inject into misk-core

what is the benefit of doing this? just less modules and there isn't a high probability you just want our guice code?

misk-inject is two files in a module that have a dependency on guice and kotlin. All our other modules will have the same dependencies on guice and kotlin. It seems worth rolling it in to something common (misk-core) if we promise to keep the dependencies to guice, kotlin, and logging

misk-actions

why can't this be in misk-server? tests probably need the misk-server stuff if they want to run a real app

I think there may be benefits if we structure the app as actions being built on top of something misk-server provides

this sounds reasonable to me. It would be nice to give guidance about the modules, especially something like misk-core. is that just everything that is shared between misk-client and misk-server?

I think that's exactly the distinction. The two entrypoints of misk are either including misk-client and building a client, or misk-server and building a server. misk-core is everything shared by both

Additionally we should merge misk-inject into misk-core

I actually wrote a library whose public api contains a subclass of KAbstractModule. This library has an api dependency on misk-inject. I think we should keep misk-inject a standalone module for this purpose.

@acostama and I pulled out the misk-actions package today. We also wrote some early documentation on the boundary of each module. So far we’ve only documented the modules that have meaningful boundaries!

We’ve made good progress on this but I think there’s further steps to take. Here’s what I propose next, much of which is natural next steps from @jjestrel and @ryanhall07’s discussion above.

[ ] misk-observability: logging, metrics, and tracing. These things are entangled anyway. We should have separate interface and implementation modules. There’s so much stuff here: jaeger, zipkin, prometheus, metrics-digester, datadog. Is it all useful?
[ ] misk-clustering: plus implementations misk-clustering-k8s, misk-clustering-zookeeper. Do we need both implementations?
[ ] misk-concurrent: clocks, sleepers, and executor services.
[ ] misk-http-client: Retrofit, gRPC, and OkHttp glue
[ ] misk-http-server: Jetty glue, including all of the JSON, protobuf, and gRPC marshalling

I don’t like either the misk-core or misk modules because they lack definition. I’d prefer for us to say what API and implementation a module offers rather than what dependencies it has.

we should also break up the misk-aws module. e.g the sqs job queue impl should not be in there just because it uses sqs. misk-aws should really just contain the code to establish an aws session with credentials.


New object model

This issue tries to design a new way of representing a single Python object in memory.
This may seem like a massive amount of work (we already have implemented almost all of the 100+ Python types and now we want to change this), but fortunately almost every aspect of the current model is exposed to code generation scripts (“Generated” directory inside the “Objects” module). This includes Swift type (with parent type), Swift fields, Swift methods and initializers, Python type, Python properties and Python methods.
We also try to not rely on the current model too much, for example we do not use Swift initializers, but instead we use our own PyMemory type (which will eventually call init). We also have our own way of casting object from one type to another type via PyCast that checks the runtime Python type.
Current - Swift class instances
Currently we are using Swift objects to represent Python instances. For example Swift PyInt object represents a Python int instance (Sourcery annotations are explained in Violet documentation):
// sourcery: pytype = int, isDefault, isBaseType, isLongSubclass
public class PyInt: PyObject {

  // sourcery: pymethod = __add__
  public func add(_ other: PyObject) -> PyResult<PyObject> {
    // …
  }
}

This is nice because:

Is very easy to add new types/methods - which is important since we have more than 120 types and 780 methods to implement.
Free type compatibility - which means that we can cast object reference (represented as PyObject instance) from VM stack to a specific Python type, for example int (represented as PyInt instance).

Not-so-nice things include:

Wasted cache/memory on Swift metadata - each Swift object holds a reference to its Swift type. We do not need this since we store a reference to Python type which serves a similar function.

Forced Swift memory management - ARC is “not the best” solution when working with circular references (which we have, for example: object type has type type and type type is a subclass of object, not to mention that type type has type as its type).

We have to perfectly reproduce Python type hierarchy inside Swift which can cause some problems if the 2 languages have different view on a certain behavior, for example:
class PyInt {
  func and() { print("int.and") }
}

// `bool` is a subclass of `int` in Python.
class PyBool: PyInt {
  override func and() { print("bool.and") }
}

let f = PyInt.and // This is stored inside `int.__dict__`
f(intInstance)(rhs) // 'int.and', as expected
f(boolInstance)(rhs) // 'bool.and'! 'int.and' was expected, since we took 'f' from 'PyInt'

Pointer to struct + type punning
The other approach would be to use struct and type punning to create object hierarchy by hand (this is more-or-less what CPython does).
struct Ref<Pointee> {
  let ptr: UnsafePointer<Pointee>
}

struct PyObjectHeader {
  var type: Ref<PyType>
  var flags: UInt32
  private let padding = UInt32.max
}

struct PyObject {
  var header: PyObjectHeader
}

struct PyInt {
  var header: PyObjectHeader
  var value: Int
}

func newInt(value: Int) -> Ref<PyInt> {
  // Basically malloc(sizeof(PyInt)) + filling properties
}

// 'int' is a Python object representing number '2'
let int = newInt(value: 2)

// Cast it to 'PyObject' — this is really important since
// we will need to do this to store object on VM stack.
// (spoiler: this is not legal!)
let object = Ref<PyObject>(ptr: int.ptr)

As we can see both PyObject and PyInt start with PyObjectHeader, so one could assume that they can easily convert from Ref<PyInt> to Ref<PyObject>.
Well… Swift does not guarantee that the memory layout will be the same as declaration order (even with SE-0210: Add an offset(of:) method to MemoryLayout). Yes, this is what happens right now, but it may change in the future. There are some exceptions, for example:

struct with single member will have the same layout as this member
enum with single case with payload will have the payload layout
homogenous tuples will look “as expected”
@frozen thingies with library-evolution enabled

But, none of them applies in our case.
This approach also blocks us from using flexible array member, unless we do some additional things (allocate more space, and then offset the struct pointer to get aligned address of array members).
Related resources:

WWDC 2020: Safely manage pointers in Swift
Swift forum: “Guarantee (in-memory) tuple layout…or don’t” thread by Jordan Rose
Swift docs: TypeSafeMemory.rst
Swift evolution: UnsafeRawPointer API

Manual alignment
We can just allocate a block of memory and manually assign where do each field starts and ends.
struct PyInt {

  internal let ptr: UnsafePointer

  // `PyObjectHeader` holds `type/flags` (and maybe `__dict__`).
  internal var header: PyObjectHeader {
    return PyObjectHeader(ptr: self.ptr)
  }

  // Without using [flexible array member](https://en.wikipedia.org/wiki/Flexible_array_member).
  // This may also invoke needless COW when we modify the value, but there are
  // ways to prevent this.
  internal var value: Int {
    // We also need to align this 'ptr', but we will skip this in the example,
    // since the code for this would depend on the property type.
    // Or we could craft 'PyObjectHeader', so that its 'size' is always word aligned.
    let ptr = self.ptr + PyObjectHeader.size
    return ptr.pointee
  }
}

extension PyMemory {

  internal func newInt(type: PyType, value: Int) {
    // Skipping alignment (again…)
    let memorySize = PyObjectHeader.size + Int.size
    let ptr = self.allocate(size: memorySize)
    let int = PyInt(ptr: ptr)

    int.header.type = type
    int.header.flags = // Something…
    int.value = value

    // register for garbage collection/arc
    self.startTracking(object: int.header)
  }
}

This is really promising since the whole concept is quite simple. The execution (as in: writing the code) is a little bit more complicated since it lacks the compiler support for proper alignment.
Using C
If we declare our objects in C we will get the C-layout. Then we can import them into Swift. This is nice because C layout is predictable and well described (see: cppreference.com: type).
Unfortunately this has its own problems, most notably that some of the properties on our Swift types are not trivially representable in C.
As far as I know this is the “official” (recommended by Swift team) way of dealing with this situation.
Memory management
When discussing object representation we have to bear in mind the memory management - a way of releasing unused instances.
In CPython they use manual reference counting: each object has a reference count and an address of the previous and the next allocated object (doubly linked list). Py_INCREF is used to retain (reference count += 1) and Py_DECREF to release (reference count -= 1) an object. If the reference count reaches 0 then it is deallocated and the linked list entries are updated (having a reference to both previous and next object makes this trivial). Linked list itself is used by garbage collection algorithm to break cycles (at some point they need to iterate over all of the currently alive objects). This is how the object header looks like:
#define _PyObject_HEAD_EXTRA            \
    struct _object *_ob_next;           \
    struct _object *_ob_prev;

typedef struct _object {
    _PyObject_HEAD_EXTRA
    Py_ssize_t ob_refcnt;
    struct _typeobject *ob_type;
} PyObject;

In Swift we have automatic reference counting for class instances (and a few others). The big catch here is that the user (programmer) is expected to take care of the strong reference cycles (to simplify things a bit: imagine 2 objects that hold a reference to each other, both have reference count 1, so neither of them will be deallocated).
Anyway, now it's our turn to discuss this:

using Swift native ARC - I'm not really sure if you can just allocate a bunch of memory with native Swift ARC, but as a last resort we can use ManagedBufferPointer without elements.
This is nice because (in theory) Swift takes case of everything. In practice however… there are some problems. First of all, you still need a some form of garbage collection to break the cycles. This will be simpler than full-on garbage collection and the requirements will be not as demanding since it will run less often, but still, it is something to keep in mind.
The other things is that most of the garbage collection algoritms work by somehow marking all of the reachable objects and then in a 2nd phase removing all of the not-marked ones. Unfortunately to do this you need a reference to all of the reachable objects (most commonly by some sort of a linked list). The question is: what kind of reference would it be?

strong - always present +1 reference count, which invalidates the whole point of reference counting
unowned - this will allow objects to be deallocated, but we would somehow need to know which references are alive and which not
weak - this is an obvious choice

Unfortunately there is a possible performance problem since having just a single the weak reference in Swift, moves the whole reference count to side-table. Unfortunately this side-table is off-line (it is an separate allocation outside of the object). This is a potential memory/cache waste, not to mention that the retain now has to fetch the object and then fetch the side-table (it is called slowRC for a reason).

Code to test the presence of the side table
  import Foundation

  // Sources:
  // SWIFT_REPO/stdlib/public/SwiftShims/RefCount.h
  // SWIFT_REPO/stdlib/public/SwiftShims/HeapObject.h

  let strongExtraRefCountShift: UInt64 = 33
  let strongExtraRefCountBitCount: UInt64 = 30
  let strongExtraRefCountMask: UInt64 = ((1 << strongExtraRefCountBitCount) - 1) << strongExtraRefCountShift

  let useSlowRCShift: UInt64 = 63
  let useSlowRCBitCount: UInt64 = 1
  let useSlowRCMask: UInt64 = ((1 << useSlowRCBitCount) - 1) << useSlowRCShift

  func printARC(name: String, ptr: UnsafeMutableRawPointer) {
    let namePad = name.padding(toLength: 18, withPad: " ", startingAt: 0)
    // let typePtr = ptr.load(as: UInt64.self)
    let refCountBits = ptr.load(fromByteOffset: 8, as: UInt64.self)

    let hasSideTable = (refCountBits & useSlowRCMask) >> useSlowRCShift
    if hasSideTable == 1 {
      print("\(namePad)| sideTable")
    } else {
      let strongExtraRefCount = (refCountBits & strongExtraRefCountMask) >> strongExtraRefCountShift
      print("\(namePad)| strongExtraRefCount: \(strongExtraRefCount)")
    }
  }

  class Alice {
    var ptr: UnsafeMutableRawPointer {
      return Unmanaged.passUnretained(self).toOpaque()
    }
  }

  let alice = Alice()
  printARC(name: "1 strong", ptr: alice.ptr) // strongExtraRefCount: 0

  let aliceInWonderland = alice
  printARC(name: "2 strong", ptr: alice.ptr) // strongExtraRefCount: 1

  weak var aliceBackInLondon = alice
  printARC(name: "2 strong + 1 weak", ptr: alice.ptr) // sideTable

manual retain/release - in this approach the programmer is responsible for inserting the  retain/release calls. For example: when adding an object to a list we retain it, when removing it (or deleting the while list) we release it. Everything else is the same as in the “using Swift native ARC” point.
The main drawback is of course the manual labor of adding the retain/release calls. It is also extremely difficult to get right and even a single mistake may have consequences:

unbalanced retain - object lives forever (along with all of the objects it references)
unbalanced release - “use after free” error -> crash

This approach is really good if you can make it right. CPython uses it, because they can afford it: they have the time and manpower to find and fix any possible errors. I don't think we could do the same.

manually implemented smart pointer - I don't think it is possible in Swift to write our own version of smart pointer. Even in languages which give you more control (like C++) it is an extremely hard thing to do.

full garbage collection without ARC - there are tons of materials about this on the internet.

Btw. we had a similar problem when writing our implementation of BigInt: after the heap-allocated storage is not needed -> how do we release it? And how do we even know that it is no longer needed? We went with ManagedBufferPointer to get Swift ARC, but technically you can implement an BigInt with a garbage collector (although I am not sure that this would be a good idea). I think that the main difference between the BigInt and the Python object representation is that the Python objects can contain references to other objects, possibly creating a cycle. Anyway, under the hood we were dealing with an unowned pointers, so we can either find the owners (this would be on case-by-case basis, so a lot of room for mistakes) or automate things (either via ARC or garbage collector).

Solved.
We went with manual layout with code generation.


Right-click menu in grid

Is it possible to display a menu by right-clicking on a cell in the grid ???
Thanks

http://w2ui.com/web/docs/1.5/w2grid.onContextMenu
You can attach menu using w2menu

ERROR: to display menu at mouse location, pass options.pageX and options.pageY.
http://jsfiddle.net/y81cyj54/25/

http://jsfiddle.net/y81cyj54/28/
Also better documentation is http://w2ui.com/web/docs/1.5/w2grid.menu


Minor corrections of the french version

I corrected some minor grammar errors and punctuation.
I also added the "(Anglais)" tag for certain links to indicate that they are only available in English. It seems like a better user experience for anyone who is not comfortable with English, so they don't click on links they won't understand. I did not check every link, I assumed links from big corporation documentation had translations.

gracias :D


IOError

I tried running your package via the readme instructions on github.com/EntilZha/ScalaFunctional, but got this error (python 2.7.10):
$ python -m blackwidow.web functional --exclude *test*
Traceback (most recent call last):
  File "/usr/local/Cellar/python/2.7.10_2/Frameworks/Python.framework/Versions/2.7/lib/python2.7/runpy.py", line 162, in _run_module_as_main
    "__main__", fname, loader, pkg_name)
  File "/usr/local/Cellar/python/2.7.10_2/Frameworks/Python.framework/Versions/2.7/lib/python2.7/runpy.py", line 72, in _run_code
    exec code in run_globals
  File "/usr/local/lib/python2.7/site-packages/blackwidow/web.py", line 112, in <module>
    web.visualize()
  File "/usr/local/lib/python2.7/site-packages/blackwidow/web.py", line 64, in visualize
    with open(json_file, 'w') as fd:
IOError: [Errno 2] No such file or directory: '/usr/local/lib/python2.7/site-packages/blackwidow/viz/static/graph.json'

On python3, I get a different error, which makes me think that this is a python 2 package?
$ python3 -m blackwidow.web functional --exclude *test*
Traceback (most recent call last):
  File "/usr/local/Cellar/python3/3.5.0/Frameworks/Python.framework/Versions/3.5/lib/python3.5/runpy.py", line 170, in _run_module_as_main
    "__main__", mod_spec)
  File "/usr/local/Cellar/python3/3.5.0/Frameworks/Python.framework/Versions/3.5/lib/python3.5/runpy.py", line 85, in _run_code
    exec(code, run_globals)
  File "/usr/local/lib/python3.5/site-packages/blackwidow/web.py", line 12, in <module>
    from blackwidow.viz.server import serve
  File "/usr/local/lib/python3.5/site-packages/blackwidow/viz/server.py", line 6, in <module>
    import SimpleHTTPServer, BaseHTTPServer
ImportError: No module named 'SimpleHTTPServer'

Ah, thanks for letting me know.  I'll bet that the static folder doesn't get included when installing via pip.  Would you mind trying to install via a git clone and python setup.py install to see if that fixes the issue?
And yes, this is currently a python2.7 repo because of old bad habits.  I'll either document that or fix it with a sprinkling of the six library.

I tried using it both ways, via pip and setup.py install, same thing

I can try setup.py develop and see if it does anything

Running it via setup.py develop seemed to fix the issue. I deleted something in easy-install.pth before running that, although I think that was an artifact of setup.py install so I think that setup.py install is still broken

Thanks again for the ticket, I believe I've resolved things now (took me a few failed pushes to PyPI, though).  Let me know if you're still running into issues and I'll patch things up again, but for now I'm closing this issue.


Automatically detect supported measurands

Background
I have set up OCPP with my Schneider Electric EVlink Smart Wallbox for years. When installing the latest firmware, <IP_ADDRESS>, I noticed that the charge box now support Power.Active.Import.  I need that measurand for my automation so I wanted to enable it.
Problem
It is tricky to enable measurands, because if you select one that is unsupported you get none. You then have to delete the integration and try again untill you get what you want. You can't change measurands on an already configured integration.
Possible solution
One solution could be to have the integration loop over all possible measurements, one by one, and present the working ones to the user. This could be run now and then and present new found measurands to the user. It would also be great if measurands could be changed without deleting the integration.

Some integrations create components (sensors, switches, etc) that are disabled by default.
The user can then enable the components they want to see by going to the device panel.
I think this could be a nice way to allow measurands to be changed.

Autodetection of the supported measurands would be nice feature, but is a bit tricky to implement.
There is no message to request a list of supported measurands supported by the charger. The central management system just sends a list of measurands that must be reported periodically by the charger in a ChangeConfiguration request.  If the list contains measurands that are not supported, then the charger will simply reject the request (without indicating which measurand is not supported). Hence, auto detecting the list of supported measurands requires trial and error. Checking each measurand separately will take some time. To reduce the number of messages required, we could start with a full list and split it in two each time we get a rejection.


Plot Lagragian Strain on current image

This isn't really an issue in the code, but more of request.
Do you plan on updating  Ncorr to be able to plot the Lagrangian strain on the current image?  This would greatly increase users' ability to present data to audiences.

Up.


StateManager.get_state interface implementations differ in parameters.

Describe the bug
When using a middleware you can never be sure which implementation of StateManager you can expect.
So changes like removing redis_url as config parameter in  rxconfig.py can break the system.
class MyMiddleware(rx.Middleware):
    async def postprocess(
        self,
        app: rx.App,
        state: rx.State,
        event: rx.state.Event,
        update: rx.state.StateUpdate,
    ) -> rx.state.StateUpdate | None:
        parent_state: AuthState = await app.state_manager.get_state(
            f"{event.token}_state.my_state", get_substates=False
        )

To Reproduce
Use the above code with and withouth redis_url
Expected behavior
No error. Maybe the args can be added to the StateManager.get_state function without functionality to have a consistent interface.
Specifics (please complete the following information):

Python Version: 3.12
Reflex Version: main
OS: arch
Browser (Optional): FF

Additional context
I stranded in this region, because due to state-sharding I do no longer get the entire state in the middleware as function parameters. So I need to retrieve the specific state from the state_manager as shown above. Since when using redis I do not need the substates which is more performant, I do not retrieve them.
@masenf Maybe you have an opinion on/solution for this, since you did thankfully implement the state-sharding feature.

i think the long term solution is the new get_state API of rx.BaseState: https://github.com/reflex-dev/reflex/pull/2678
Essentially you'll be able to do auth_state = await state.get_state(AuthState) and it will work with both types of state manager.
It does not let you elect to not fetch the substates though, we need to get the substates so that computed vars in the substate which depend on the requested state will still update appropriately.
If fetching the substates is a performance-sensitive operation, then I would suggest flattening the state tree and having as few nested substates as possible.

Thanks for the outlook into the bright future.
I know that I have used an internal API that might be due to unexpected changes.
Maybe the StateManagerclasses could be streamlined in a way that both look more or less like a dict[token+substate_key, state] from the outside, i.e. that both are sharded. That could also reduce the internal overhead for retrieving states. I will look into your PR and use my current workaround. Closing this question. Thanks @masenf


Court Order and POA

Issue #: /bcgov/entity#6413
Description of changes:

Implements Court Order number and Plan of arrangement component.
Applied to storybook.
Unit tests.
Storybook build.

@cameron-freshworks Did this get merged correctly?

It didn't get merged to master, it was closed after a disastrous rebase.
There was a lot of conflicts in the build files docs etc, which i didn't want to resolve as that would be insane.
I thought i could skip only those but it wiped all my work and set it square with master.
I recovered the commit from the logs and am just putting up the new PR now 😅


how big is the data?

for these two? The website doesn't mention it. On kaggle it says. 1TB+
If the below is beyond a 100GB. Is there anyway to use a subset?
curl data.yt8m.org/download.py | partition=3/frame/validate mirror=us python
curl data.yt8m.org/download.py | partition=3/frame/test mirror=us python

The info is on the download page.
The frame features dataset is 1.53TB and the video features dataset is 31GB. That page also has instructions for how to download a subset of the data. Here is an example command line to download 1/100 of the data:
 curl data.yt8m.org/download.py | shard=1,100 partition=2/video/train mirror=us python
In the future, please use the google group for these kinds of questions rather than opening issues on github.


Manual quarantine: flutter-devicelab-windows-18

Quarantined due to https://github.com/flutter/flutter/issues/143180

Closing as this is done and work is being tracked in https://github.com/flutter/flutter/issues/143271


[feature] Support for sense hat (B)

Support for https://www.waveshare.com/wiki/Sense_HAT_(B)

[mbalamat] This issue has attached support thread https://jel.ly.fish/#/support-thread~f2eedaf8-dbaf-40bf-beed-9dcef55545d0


print unexpected mock calls

add debug info when mock expectation were not met.

Coverage remained the same at 5.303% when pulling 2731e94a28d7a51b483e44630827e94646b0dfbf on yiminc:print_error_on_unexpected_mock_calls into 83a3ace28ff96664806fb6106aa6430c8f7a9231 on uber-go:master.

Coverage decreased (-0.02%) to 69.331% when pulling d7e72d877717161d5df4daa0e6f0787a0bdaae22 on yiminc:print_error_on_unexpected_mock_calls into 387b8002a61dc05f57de94309c8476a700b33f72 on uber-go:master.


Upgrade snyk-operator to version 1.30.6

Signed-off-by: Ivan Stanev<EMAIL_ADDRESS>Thanks submitting your Operator. Please check below list before you create your Pull Request.

Flat operator directory structure is obsolete from 23-rd of October 2019, only nested directory structure will be accepted.

New Submissions

[x] Does your operator have nested directory structure?
[x] Have you selected the Project Community Operator Submissions in your PR on the right-hand menu bar?
[x] Are you familiar with our contribution guidelines?
[x] Have you packaged and deployed your Operator for Operator Framework?

[x] Is your submission signed?

Updates to existing Operators

[ ] Is your new CSV pointing to the previous version with the replaces property?
[ ] Is your new CSV referenced in the appropriate channel defined in the package.yaml ?
[ ] Have you tested an update to your Operator when deployed via OLM?
[ ] Is your submission signed?

Your submission should not

[x] Modify more than one operator
[x] Modify an Operator you don't own
[x] Rename an operator - please remove and add with a different name instead
[x] Submit operators to both upstream-community-operators and community-operators at once
[x] Modify any files outside the above mentioned folders
[x] Contain more than one commit. Please squash your commits.

Operator Description must contain (in order)

[x] Description about the managed Application and where to find more information
[x] Features and capabilities of your Operator and how to use it
[x] Any manual steps about potential pre-requisites for using your Operator

Operator Metadata should contain

[x] Human readable name and 1-liner description about your Operator
[x] Valid category name1
[x] One of the pre-defined capability levels2
[x] Links to the maintainer, source code and documentation
[x] Example templates for all Custom Resource Definitions intended to be used
[x] A quadratic logo

Remember that you can preview your CSV here.
--
1 If you feel your Operator does not fit any of the pre-defined categories, file an issue against this repo and explain your need
2 For more information see here

Hello 👋
In case the tests fail, this is because there is a prerequisite to create a secret before deploying the Operator and the CustomResource that it manages:
#1296 comment

@snyksec, you are adding a new operator to upstream (not upgrade) and pointing with replaces to non existing version .v1.30.0

Hi @J0zi, thanks to warn me. I fixed the PR description to submit a new.

@snyksec @agranado2k, please rebase on master to get actual code. Thank you.

Thanks @J0zi. I've just rebased it.

@agranado2k is .keep file needed for the operator functionality?

@agranado2k is .keep file needed for the operator functionality?

Hi @J0zi, it doesn't need it. I removed it from there.

Hi @J0zi, do I need to do something else? I didn't get this CVP/operator-metadata-fetch failure. There is no information in the
Details link.


provision profiles

Issue Type: Bug
How can I select provision profiles. Where must they be stored
Extension version: 0.12.2
VS Code version: Code 1.59.0 (379476f0e13988d90fab105c5c19e7abc8b1dea8, 2021-08-04T23:14:40.191Z)
OS version: Darwin x64 20.5.0
Restricted Mode: No

System Info

Item
Value

CPUs
Intel(R) Core(TM) i5-8259U CPU @ 2.30GHz (8 x 2300)

GPU Status
2d_canvas: enabledgpu_compositing: enabledmetal: disabled_offmultiple_raster_threads: enabled_onoop_rasterization: enabledopengl: enabled_onrasterization: enabledskia_renderer: disabled_off_okvideo_decode: enabledwebgl: enabledwebgl2: enabled

Load (avg)
4, 19, 13

Memory (System)
8.00GB (0.09GB free)

Process Argv
--crash-reporter-id 8391f894-89ff-4b29-b0a8-90fc040f5206

Screen Reader
no

VM
0%

A/B Experiments
vsliv368:30146709
vsreu685:30147344
python383cf:30185419
pythonvspyt602:30300191
vspor879:30202332
vspor708:30202333
vspor363:30204092
pythonvspyt639:30300192
pythontb:30283811
pythonptprofiler:30281270
vshan820:30294714
vstes263:30335439
pythondataviewer:30285071
pythonvsuse255:30340121
vscod805:30301674
pythonvspyt200:30340761
vscextlangct:30333562
binariesv615:30325510
pythonvssor306:30344512
bridge0708:30335490
vstre464:30350172
bridge0723:30350414

@jomollin, if you have some provisioning profiles on you machine you can view them using [appc] ti info -t ios. Make sure they match the id of your app and are valid for the certificate you're selecting.
If you don't have any installed, you need to create them on the Apple Developer site, there's some instructions here

You can delete them by removing the files at ~/Library/MobileDevice/Provisioning Profiles/. Apps built with 10.0.2 should work ok on iOS 15, but 10.1.0 will be the first release to officially support Xcode 13 and iOS 15 (https://github.com/appcelerator/titanium_mobile/pull/12873)

Thanks


Ensure FieldConfig.getEncodingType() is never null

This small PR ensures that FieldConfig.getEncodingType() is never null.
That method should in fact never return null in the past given it wasn't annotated with @Nullable, but there was no check to ensure that. This was in fact pretty common when the FieldConfig was deserialized from a JSON document like in TableConfigs.
With this PR, whenever these objects are created their value will be DICTIONARY by default. As seen in DictionaryIndexType.createDeserializer(), this was the logical default value before this PR, but there are some checks that may fail before reaching that code. One of the examples is the recently added check in TableConfigUtils.validateFieldConfigList().
I've been looking for usages of FieldConfig.getEncodingType() that assume the value may be null, but didn't find them.

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

Comparison is base (38d86b0) 61.74% compared to head (fcc4217) 61.75%.

Additional details and impacted files
@@            Coverage Diff            @@
##             master   #12430   +/-   ##
=========================================
  Coverage     61.74%   61.75%
  Complexity      207      207
=========================================
  Files          2436     2436
  Lines        133108   133108
  Branches      20617    20618    +1
=========================================
+ Hits          82191    82195    +4
+ Misses        44876    44865   -11
- Partials       6041     6048    +7

Flag
Coverage Δ

custom-integration1
<0.01% <0.00%> (ø)

integration
<0.01% <0.00%> (ø)

integration1
<0.01% <0.00%> (ø)

integration2
0.00% <0.00%> (ø)

java-11
61.74% <100.00%> (+0.04%)
:arrow_up:

java-21
27.73% <0.00%> (-33.90%)
:arrow_down:

skip-bytebuffers-false
61.75% <100.00%> (+0.01%)
:arrow_up:

skip-bytebuffers-true
0.00% <0.00%> (-61.61%)
:arrow_down:

temurin
61.75% <100.00%> (+<0.01%)
:arrow_up:

unittests
61.74% <100.00%> (+<0.01%)
:arrow_up:

unittests1
46.85% <100.00%> (-0.04%)
:arrow_down:

unittests2
27.75% <0.00%> (+0.02%)
:arrow_up:

Flags with carried forward coverage won't be shown. Click here to find out more.

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


Closing Drawer stops scrollIntoView animation in Chrome

[x] The issue is present in the latest release.
[x] I have searched the issues of this repository and believe that this is not a duplicate.

Current Behavior 😯
I'm using a Drawer with some ListItems for the navigation. When the user clicks on a list item, it should scroll to the corresponding section (calling scrollIntoView) and close the Drawer. This works as expected using Firefox. However, with Google Chrome closing the Drawer stops the scroll animation immediately.
Expected Behavior 🤔
Using Google Chrome, closing the Drawer should not stop the scroll animation.
Steps to Reproduce 🕹
Steps:

Open https://rs2o4.csb.app/ in Google Chrome (Code: https://codesandbox.io/s/react-material-ui-drawer-scroll-issue-rs2o4?file=/src/Demo.tsx)
Click on "Open Drawer" and on "bottomsection"
Notice that the drawer is closed without scrolling to the section
Repeat the first three steps using Firefox and notice that it scrolls as expected

Context 🔦
I'm using the Drawer on my homepage for navigation on mobile devices. I want users to be able to select a section in the navigation, which should trigger a scroll animation to the section and close the drawer.
Your Environment 🌎

Tech
Version

Material-UI
v4.11.0

React
v16.13.1

Browser
Chrome 84.0.4147.89 on macOS 10.15.5

@mathiasritter You need to easier disable the scroll lock to delay the scroll into view action to after the scroll lock is lifted.

@oliviertassinari are you sure this issue is caused by the scroll lock of the drawer?
I've created a new codesandbox where the drawer is not closed when clicking on an item, but the window scrolls to the selected destination: https://lwxqq.csb.app/.
As you can see, this works fine while the drawer is open. However, if you first click on an item in the drawer and then quickly click outside to close it, the scroll animation stops.


It is also necessary for some applications to maintain only one RootAllocator, just as here is recommended.
The singleton allocation will also be helpful in detecting memory leaks as the unreleased allocators can be cross validated.
The Single Allocator must also be able to create enumerated and identified child allocators.
Enhancement requested:

Create a Singleton Allocator
Incorporate Singleton Allocator for same functionalities that is tested using RootAllocator (main idea is try to identify or detecting allocator leaks on current testing scenarios or created another ones)
Validate/create SingletonAllocator thread-safe
Unit test

Component(s)
Documentation, Java

Take a look at https://github.com/apache/arrow/issues/37216


re-enable test parallelisation after the upgrade to FakeItEasy 2.0.0

Prerequisites

[x] I have written a descriptive pull-request title
[x] I have verified that there are no overlapping pull-requests open
[x] I have verified that I am following the Nancy code style guidelines
[x] I have provided test coverage for my change (where applicable)

Description
As it says on the tin, except Nancy.ViewEngines.DotLiquid, which suffers from a thread safety issue unrelated to FakeItEasy 1.x.

Awesome. Thanks! :+1:

@khellang out of interest did you use "Squash and Merge" on this PR?

Not sure. I clicked the big Green button in the GH UI :smile:

IIRC it remembers your last choice, even if it was in another repo.
Personally, I don't like the feature. I switch it off in all my repos.

Personally, I don't like the feature. I switch it off in all my repos.

Why, exactly?

I don't like fast forward merges to master. I like to see the merges from PR branches in the history to prove that master was merged to rather than direct pushed.
It effectively does an amend to the commits, as well as the merge. In FakeItEasy we don't like that. We want the actual commits that are going to be merged to be visible in the PR for everyone to see (and approve) and the only action taken by the merging maintainer to be "merge".
 It's better to have a squash as an explicit request to the contributor or in a superseding PR from another maintainer, so the only action possible is "merge", preventing a mistake one way or the other. These mistakes either have to be left as-is, or fixed by a force push (also banned in all the repos I work on).
It strips GPG signatures.


WalletConnect demo not working

Current Behavior
Click on WalletConect option doesn't show QR code and appears stuck. Error is displayed on console.
index.051cf284.js:19 TypeError: Cannot convert undefined or null to object
    at Function.values (<anonymous>)
    at Object.getRecomendedWallets (index.051cf284.js:15:10360)
    at async wt.preloadListings (index.051cf284.js:19:52678)
    at async Promise.all (/index 0)
    at async wt.preloadData (index.051cf284.js:19:52988)

Expected Behavior
QRCode to show when clicking on WalletConnect
Steps To Reproduce

Visit https://onboard.blocknative.com/
Click Connect
Click WalletConnect
Observe no QRCode shown and console error

What package is effected by this issue?
@web3-onboard/walletconnect
Is this a build or a runtime issue?
Runtime
Package Version
latest
Node Version
No response
What browsers are you seeing the problem on?
Chrome
Relevant log output
No response
Anything else?
No response
Sanity Check

[X] If this is a build issue, I have included my build config. If this is a runtime issue, I have included reproduction steps and/or a Minimal, Reproducible Example.

@miguelmota thanks for raising this issue! Im in contact with the WalletConnect team to understand and resolve this issue

The docs site has been updated and there is an alpha version of the walletconnect module that contains a fix for this which is available at v2.5.2-alpha.1 and will be officially released shortly


feat(tee): introduce get_tee_proofs RPC method for TEE proofs

What ❔
Add get_tee_proofs RPC method to expose TEE attestations and proofs for a given batch number and TEE type.
Currently, there can be only one proof instance per batch number per TEE type. In the future, we may allow multiple instances since attestations can be revoked if the machine that produced them is compromised.
Why ❔
We want to enable anyone to download TEE attestations and proofs for any transaction, allowing them to verify it on their own machines using the verify-attestation standalone binary (available at https://github.com/matter-labs/teepot/tree/main/bin/verify-attestation).
This is just an intermediate step; the ultimate goal is to have TEE proofs and attestations verification implemented on-chain.
Checklist

[x] PR title corresponds to the body of PR (we generate changelog entries from PRs).
[ ] Tests for the changes have been added / updated.
[ ] Documentation comments have been added / updated.
[x] Code has been formatted via zk fmt and zk lint.

FYI: CI is failing due to a recent DevOps-related issue, which is not related to this PR.

@popzxc @haraldh, ready to re-review. ✅
The only thing left to do is test the RPC method I added (unstable_getTeeProofs). When calling this method, I'm getting Method not found.
$ curl -X POST -H "Content-Type: application/json" --data '{"jsonrpc": "2.0", "id": 1, "method": "unstable_getTeeProofs", "params": [1, "Sgx"] }' 'http://localhost:3050/'
{"jsonrpc":"2.0","error":{"code":-32601,"message":"Method not found"},"id":1}

Same issue with another RPC method from the unstable namespace (this method was not added by me):
$ curl -X POST -H "Content-Type: application/json"   --data '{"jsonrpc": "2.0", "id": 1, "method": "unstable_getTransactionExecutionInfo", "params": [1] }'   'http://localhost:3050/'
{"jsonrpc":"2.0","error":{"code":-32601,"message":"Method not found"},"id":1}

On the other hand, I tried another random RPC call (snapshots_getAllSnapshots), and it worked:
$ curl -X POST -H "Content-Type: application/json" \
  --data '{"jsonrpc": "2.0", "id": 1, "method": "snapshots_getAllSnapshots", "params": [] }' \
  'http://localhost:3050/'
{"jsonrpc":"2.0","result":{"snapshotsL1BatchNumbers":[]},"id":1}

Not sure what's the reason.

Re this: after fixing this bug, I retested this PR and it works. 🎉 PR ready to review. 🫡
$ curl -X POST -H "Content-Type: application/json" --data '{"jsonrpc": "2.0", "id": 1, "method": "unstable_getTeeProofs", "params": [1, "Sgx"] }' 'http://localhost:3050'
{"jsonrpc":"2.0","result":[{"l1BatchNumber":1,"teeType":"Sgx","pubkey":[5,6,7,8,9],"signature":[0,1,2,3,4],"proof":[10,11,12,13,14],"provedAt":"2024-08-01T16:18:47.594870Z","attestation":[4,3,2,1,0]}],"id":1}

@popzxc, take a look whenever you get a chance. Thanks!

As mentioned here, @RomanBrodetski and @perekopskiy, could you please review? Unless you strongly prefer it, I would rather focus on addressing your code review comments than splitting this PR into two separate PRs and then addressing comments for both.


Add simple query pushdown for PostgreSQL

Description
This PR closes #896.

Readiness checklist

[ ] I added tests for new functionality or bugfixes.
[ ] I ran task all, and it passed.
[x] I added/updated comments for both exported and unexported top-level declarations (functions, types, etc).
[ ] I checked comments rendering with task godocs.
[x] I ensured that the title is good enough for the changelog.
[x] (for maintainers only) I set Reviewers (@FerretDB/core), Assignee, Labels, Project and project's Sprint fields.
[x] I marked all done items in this checklist.

Tests fail


ekf2 handle accelerometer clipping

pass accel clip counts through sensors hub to sensor_combined
copy accel clip count (and total samples) into ecl/EKF IMU buffer
ecl/EKF increase delta velocity variance while IMU sample contains any clipping (https://github.com/PX4/ecl/pull/663)
tunable via new parameter EKF2_ACC_CLPFACT

Requires https://github.com/PX4/ecl/pull/663
Example flight log with clipping. https://github.com/PX4/Firmware/pull/14294#issuecomment-594918621

TODO:

[ ] get representative logs with clipping (test team pixracer and/or pixhawk 3 pro vehicles)
[ ] review and tune via ekf2 replay

The goal is make these brief periods of accel clipping survivable, including alerting the operator if necessary rather than getting caught in the death spiral of clipping -> vz jumps -> more throttle -> more clipping, etc.

@PX4/testflights could you please try this pull request on the same pixracer vehicle you tested in https://github.com/PX4/Firmware/pull/14294#issuecomment-594828748? The vehicle where you reported "in altitude mode, the vehicle did not respect the height that continued to increase in pitch forward".
Try to replicate that flight (https://review.px4.io/plot_app?log=6638bb68-ad37-439b-9c96-c350929a3d28) with this PR. Make sure you reset SDLOG_PROFILE to default.

Rebased on master. We need to get a good log (ekf2 replayable) from fmu-v4 or fmu-v4pro with accel clipping. We could also expand that to include most other boards with https://github.com/PX4/Firmware/pull/14356.

For testing on px4_fmu-v5, px4_fmu-v5x, or modalai_fc-v1 I've added a commit (https://github.com/PX4/Firmware/pull/14304/commits/4e25438d3731d845e8cd94b04dc8d0c78d8e7a5a) that enables the new icm20602, icm20689, and SPI DMA.

Here's a good test log. https://logs.px4.io/plot_app?log=c795c4d4-c17c-403a-9bb4-0098d14375c9

Replayed logs.
Original https://logs.px4.io/plot_app?log=c795c4d4-c17c-403a-9bb4-0098d14375c9

EKF2_ACC_CLPFACT 5

EKF2_ACC_CLPFACT 10

ECL modified to trigger "bad vertical accel" logic during any clipping

Tested on PixRacer V4:
Modes Tested
Position Mode: Good.
Altitude Mode:
Stabilized Mode: Good.
Mission Plan Mode (Automated): Good.
RTL: Good.
- Procedure
Arm and Take off in position mode, after flying for approximately one minute, switched to altitude then stabilized mode proceed to switch to mission plan mode then make sure that vehicle follows all waypoints as shown in QGC, once completed all waypoint then swith RTL.
Notes:
Be sure to reset SDLOG_PROFILE to their default values.
In altitude mode, the vehicle did not respect the height that continued to increase in pitch forward
Log: https://review.px4.io/plot_app?log=26cbd971-6214-4dc2-bbf0-fb07f50c06da
Modes Tested
Altitude Mode:
- Procedure
Arm and Take off in altitude mode, after flying for approximately one minute, switched to RTL..
- Notes
In altitude mode, the vehicle did not respect the height that continued to increase in pitch forward
Log: https://review.px4.io/plot_app?log=7c1f0f91-7a73-4b43-a4a5-eb070c68310c

Tested on PixRacer V4
- Modes Tested
Position Mode: Good.
Altitude Mode: Good.
Stabilized Mode: Good.
Mission Plan Mode (Automated): Good.
RTL (Return To Land): Good.
- Procedure
Arm and Take off in position mode, after flying for approximately one minute, switched to altitude then stabilized mode proceed to switch to mission plan mode then make sure that vehicle follows all waypoints as shown in QGC, once completed all waypoint then swith RTL..
- Notes
In Position and altitude mode, the vehicle did not respect the height that continued to increase in pitch forward
Log:
https://review.px4.io/plot_app?log=93d9a409-cf0d-4f8f-afae-6a2e229639ff
https://review.px4.io/plot_app?log=c5b378f6-a080-4477-b59e-0f9c95d31c9b

Thanks @jorge789. It looks like you grabbed the build right before I pushed a bug fix (to get all axis clip counts to the estimator). Could you try this again with the current build (same vehicle) when you get a chance?
The test can be as long or short as you like, just do whatever you can to try and get to that "vehicle did not respect the height" behaviour. The overall goal is to eliminate or minimize that.

@Tony3dr Can you please fly this PR again with the changes from @dagar ?

Tested on PixRacer  V4
- Modes Tested
Position Mode: Good.
Altitude Mode: Good.
Stabilized Mode: Good.
Mission Plan Mode (Automated): Good.
RTL (Return To Land): Good.
- Procedure
Arm and Take off in position mode, after flying for approximately one minute, switched to altitude then stabilized mode proceed to switch to mission plan mode then make sure that vehicle follows all waypoints as shown in QGC,  once completed all waypoint then swith RTL..
- Notes
There were no altitude problems
Log https://review.px4.io/plot_app?log=d4987f81-c76f-4278-af21-a944824b7c96

Thanks @jorge789!
Like the previous flights from that vehicle there's plenty of accelerometer clipping.

Unfortunately that log has too many dropouts to replay and compare without the change, but from previous tests of that same vehicle with similar levels of clipping we can see the difference.
For example in https://review.px4.io/plot_app?log=c5b378f6-a080-4477-b59e-0f9c95d31c9b (same vehicle about a week ago without the ecl clipping change). We can see the estimator velocity test ratio (estimator_status.vel_test_ratio) during periods of clipping.

Then in today's log https://review.px4.io/plot_app?log=d4987f81-c76f-4278-af21-a944824b7c96 for comparison where the clipping might be even worse.

https://github.com/PX4/ecl/pull/663 has merged, updating this branch with latest ecl.


sky.com epg channel list refresh error

Site
sky.com
Description
When trying to update channel list from sky.com (https://github.com/iptv-org/epg/tree/master/sites/sky.com) I get the following error
A number of channels either don't exist (404) or have been renamed so a new channel list is required
npm run channels:parse -- --config=./sites/sky.com/sky.com.config.js --output=./sites/sky.com/sky.com.channels.xml

> channels:parse
> npx tsx scripts/commands/channels/parse.ts --config=./sites/sky.com/sky.com.config.js --output=./sites/sky.com/sky.com.channels.xml

(node:26828) ExperimentalWarning: `--experimental-loader` may be removed in the future; instead use `register()`:
--import 'data:text/javascript,import { register } from "node:module"; import { pathToFileURL } from "node:url"; register("file%3A///C%3A/AI/epg/node_modules/tsx/dist/loader.mjs", pathToFileURL("./"));'
(Use `node --trace-warnings ...` to show where the warning was created)
(node:26828) UnsupportedWarning: `globalPreload` has been removed; use `initialize` instead.
(Use `node --trace-warnings ...` to show where the warning was created)
(node:26828) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.

C:\***\sites\sky.com\sky.com.config.js:42
    initialData.state.epgData.channelsForRegion.forEach(item => {
                                                ^
TypeError: Cannot read properties of undefined (reading 'forEach')
    at Object.channels (C:\***\sites\sky.com\sky.com.config.js:42:49)
    at processTicksAndRejections (node:internal/process/task_queues:95:5)
    at main (C:\***\scripts\commands\channels\parse.ts:50:22)

just noticed also mentioned
https://github.com/iptv-org/epg/issues/2325

Closed in favor of https://github.com/iptv-org/epg/issues/2325


several years since last release, status of this project ?

There seems to be a lot of pending PRs ... issues ... just wondering if there are any plans for more active development that someone (like me) could contribute to - alternately thinking of a new set of curl bindings. thx in advance

There are regular releases, almost with every curl release. If you are looking at the releases page, yea we haven't been updating that. It's a bit of a chore to do things like that. Releases can be seen on the corresponding crates.io pages.
If you have a specific binding that you need for your project, feel free to open a PR to add it.

ah my mistake .... thx for correcting me.
have you considered closing very old PR (seeing something from 2017) and what is status of open PR ... are they active ?

Maintenance has albeit slowed for sure, but this is still an important dependency of Cargo itself so updates are made and bugs are fixed. New features are not necessarily actively being developed but PRs can be reviewed.


404 Handling is too aggressive

Right now every api response that 404s redirects the user to the homepage. There are many valid reasons an api call might 404 that shouldn't result in a redirect.

@burkel24 @agundy What should happen? And what are these bad endpoints?

@seveibar The first time I hit this problem was when I initially ran the app w/o populating the database. The call for class years would fail on many pages and made it possible to create an acct or login.
Another case was adding a project. I entered an invalid url for the github link and the fetch failed, leading to the redirect once again.
The former case I could see as being acceptable behavior (though not ideal as the user would have no idea what is happening) but the latter certainly needs to be handled better.

I agree with Burke, I think we should look into handling errors better for adding forms and what not. We can start with his examples but look for other spots too.


fix failure logging of value on channel option set

Pass value to failure log as value instead of accidentally passing channel.
Motivation:
The code accidentally passes channel twice instead of value, resulting in logs like:
Failed to set channel option 'SO_SNDBUF' with value '[id: 0x2c5b2eb4]' for channel '[id: 0x2c5b2eb4]'
Modifications:
Pass value instead of channel where it needs to be.
Result:
Failed to set channel option 'SO_SNDBUF' with value '0' for channel '[id: 0x9bd3c5b8]'

@boazavital thanks a lot ... can you please change the commit message to match our template:
http://netty.io/wiki/writing-a-commit-message.html

Of course, updated. Note that the link explicitly says "unless the commit is trivial", which I believe applies to this. If that's no longer true, consider changing the wiki.

Cherry-picked into 4.1 (bf08ed0b93e54e8e21f23e9d948fd2732dc52171) and 4.0 (99dbf1ba7740df576a22c9a6d4b7ab72c86c8fc6)


grpc-device should not expose LockSession/UnlockSession

These lock methods have a thread affinity, but we're executing everything on a thread pool. So you're acquiring a lock that you can't use unless the subsequent access and release happen to be scheduled on the same thread.
LockSession/UnlockSession are already released for the MI drivers but they don't work, so it should be easy to remove them.
The grpc-device Reserve/Unreserve methods should be used instead.

Removing breaking tag. We're tracking that on PRs.


Prepare statements support

Fixes https://github.com/opentracing-contrib/java-cassandra-driver/issues/8.
One test case added. Under the hood it uses one of prepareAsync methods on session, I've fixed all prepare* methods though.

After some research and debugging:

Mapper creates prepared statements first and uses it in the next executions
prepare statement span is created and has a proper parent
consecutive operations on Mapper work and have proper parent span
the problem is with the first operation which creates prepared statement and executes it straight away. execute operation is reported with no parent. I wasn't able to make it work.

@tmszdmsk let's start from beginning.
Could you create a test which demonstrate problem you found? (Test should fail).
Then we will try to find solution.

@malafeev, sorry for the delay
I wrote a test that demonstrates the problem, it is actually why the tests are failing:
https://travis-ci.org/opentracing-contrib/java-cassandra-driver/builds/404851120#L3429

@tmszdmsk I mean what is the initial problem?
I don't think that we need to build span for prepared statement. (prepare* methods should not be changed).
Only when prepared statement is executed span should be created and finished. But it is already implemented in public ResultSet execute(Statement statement).

@malafeev then this is the test case you want (in the first commit)
https://github.com/opentracing-contrib/java-cassandra-driver/pull/9/commits/aa6bf2caf0a4b60da5ab80b76e050bb3f9187372

I'm closing this PR because it doesn't fix the issue.
There is no proper way to propagate active span into mapper's futures.
Most likely we need to create issue against Cassandra Mapper to add such kind support.
Test is added to demonstrate issue.


examples/next-app-router CryptoKey is not defined

 GET<EMAIL_ADDRESS>500 in 360ms
 ⨯ ReferenceError: CryptoKey is not defined
    at new CryptographicKey

running into this error as soon as I search for the user.

I can't reproduce it.  Which JavaScript runtime do you use?

Oops, looks like I was on node 18, switched to 20 and it works!