Bump Opencensus Version to 0.22.1

Love inspectit, but also the newest versions of grpc and opencensus. Not sure if this ok. This is my very first open source PR. 🥂

This change is

Welcome to the Open Source World! :) Of course PRs are always welcome!

oops. No reason from me. Just a warning though, they are deprecating the TagContextBuilder put(TagKey key, TagValue value) method in the io.opencensus.tags.TagContextBuilder class. Looks like it is being replaced with TagContextBuilder putLocal(TagKey key, TagValue value) and TagContextBuilder putPropagating(TagKey key, TagValue value). From what I've seen, its being used in several places.

Yeah the problem with put was there already before, but OpenCensus did not have the putLocal method at that time. We will still wait a little before fixing this deprecation to make sure that the API remains stable.

WOOHOO!! My first contribution! Thanks! 👍


RegularCallableCallFixer - fix for function name with escaped slash

Reference: https://github.com/aws/aws-sdk-php/blob/3.180.1/src/Crypto/Polyfill/ByteArray.php#L256

Coverage remained the same at 92.061% when pulling 86bf9672ba0304990bb6331c05fcaeff787a1e2a on kubawerlos:fix_RegularCallableCallFixer into 6cee2bedbb432941a0c894ab35a9920b6ffe8562 on FriendsOfPHP:3.0.

Thank you @kubawerlos.


[Rating] Move from lab to core

Breaking changes

[Rating] Move the component from the lab to the core. The component is now stable.
-import Rating from '@material-ui/lab/Rating';
+import Rating from '@material-ui/core/Rating';

Oops, missed a step. So, is it a data display component, or an input component? 🤔

What needs to happen here? https://github.com/mui-org/material-ui/blob/6e9b256eada6e9924378952dfc0adc79522cdc37/packages/material-ui/src/locale/index.ts#L15-L20

@oliviertassinari What needs to happen here?

Nothing

Nothing

    // The core package has no dependencies on the @material-ui/lab components.
    // We can't use ComponentsPropsList, we have to duplicate and inline the definitions.

But Rating won't be in @material-ui/lab...

@mbrookes Oh, my bad, updated.


Implement Hanno utility styling classes into the repo

We use these clever little classes on nearly every project, so it would be great to be a little bit more opinionated about how Riggings should work, and include and document them inside our default stylesheets.
.hero, .push-up etc

Perhaps consider some very, very basic default style documentation inside the repo too, so that this can be expanded upon while the project is happening, and basic utility classes can be documented?
Maybe in a /docs directory or something?

Will do.

:wave: do you consider this one to be done now? Just moving our chatter into the GitHub issues.


az upgrade failed

This is autogenerated. Please review and update as needed.
Describe the bug
Command Name
az upgrade
Errors:
New Azure CLI version available. Running 'az upgrade' to update automatically.
This command is in preview and under development. Reference and support levels: https://aka.ms/CLI_refstatus
Your current Azure CLI version is 2.19.1. Latest version available is 2.25.0.
Please check the release notes first: https://docs.microsoft.com/cli/azure/release-notes-azure-cli
Do you want to continue?  Done
E: Failed to fetch https://dl.bintray.com/loadimpact/deb/dists/stable/InRelease  403  Forbidden [IP: <IP_ADDRESS> 443]
E: The repository 'https://dl.bintray.com/loadimpact/deb stable InRelease' is no longer signed.
N: Updating from such a repository can't be done securely, and is therefore disabled by default.
N: See apt-secure(8) manpage for repository creation and user configuration details.
CLI upgrade failed.
Auto upgrade failed with exit code 0
To Reproduce:
Steps to reproduce the behavior. Note that argument values have been redacted, as they may contain sensitive information.

Put any pre-requisite steps here...
az upgrade --all {}

Expected Behavior
Environment Summary
Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-debian-bullseye-sid
Python 3.6.10
Installer: DEB

azure-cli 2.19.1 *

Extensions:
deploy-to-azure 0.2.0
dev-spaces 1.0.6
azure-devops 0.18.0
aks-preview 0.5.0

Additional Context

upgrade

Similar to https://github.com/Azure/azure-cli/issues/17666
As the error message indicates:
Err:8 https://dl.bintray.com/loadimpact/deb stable InRelease
403 Forbidden [IP: <IP_ADDRESS> 443]
...
E: Failed to fetch https://dl.bintray.com/loadimpact/deb/dists/stable/InRelease 403 Forbidden [IP: <IP_ADDRESS> 443]
E: The repository 'https://dl.bintray.com/loadimpact/deb stable InRelease' is no longer signed.

this issue doesn't seem to be caused by Azure CLI. It's highly possible you will face the same issue following https://docs.microsoft.com/en-us/cli/azure/install-azure-cli-linux?pivots=apt
Could you check if you have other Linux repos added which could cause the 403 failure?
ls /etc/apt/sources.list.d/

Then you may delete the problematic https://dl.bintray.com/loadimpact/deb and try again.

did that. all's well. thanks!
On Wed, Jul 7, 2021 at 8:59 AM Jiashuo Li @.***> wrote:

Similar to #17666 https://github.com/Azure/azure-cli/issues/17666
As the error message indicates:
Err:8 https://dl.bintray.com/loadimpact/deb stable InRelease
403 Forbidden [IP: <IP_ADDRESS> 443]
...
E: Failed to fetch https://dl.bintray.com/loadimpact/deb/dists/stable/InRelease 403 Forbidden [IP: <IP_ADDRESS> 443]
E: The repository 'https://dl.bintray.com/loadimpact/deb stable InRelease' is no longer signed.
this issue doesn't seem to be caused by Azure CLI. It's highly possible
you will face the same issue following
https://docs.microsoft.com/en-us/cli/azure/install-azure-cli-linux?pivots=apt
Could you check if you have other Linux repos added which could cause the
403 failure?
ls /etc/apt/sources.list.d/
Then you may delete the problematic https://dl.bintray.com/loadimpact/deb
and try again.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/Azure/azure-cli/issues/18746#issuecomment-875380127,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAJ2XLCMHPKTHCE4YPMJGF3TWQCMZANCNFSM474HGXZA
.


ERROR: no such target '//google/api:google-api-java': target 'google-api-java' not declared in package 'google/api' defined by /home/kbuilder/.cache/synthtool/googleapis/google/api/BUILD.bazel
INFO: Elapsed time: 16.765s
INFO: 0 processes.
FAILED: Build did NOT complete successfully (1 packages loaded)
FAILED: Build did NOT complete successfully (1 packages loaded)

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/java-common-protos/synth.py", line 34, in <module>
    bazel_target=f"//google/{path}:{target}",
  File "/tmpfs/src/github/synthtool/synthtool/gcp/gapic_bazel.py", line 62, in java_library
    service, version, "java", tar_strip_components=0, **kwargs
  File "/tmpfs/src/github/synthtool/synthtool/gcp/gapic_bazel.py", line 183, in _generate_code
    shell.run(bazel_run_args)
  File "/tmpfs/src/github/synthtool/synthtool/shell.py", line 39, in run
    raise exc
  File "/tmpfs/src/github/synthtool/synthtool/shell.py", line 33, in run
    encoding="utf-8",
  File "/home/kbuilder/.pyenv/versions/3.6.9/lib/python3.6/subprocess.py", line 438, in run
    output=stdout, stderr=stderr)
subprocess.CalledProcessError: Command '['bazel', '--max_idle_secs=240', 'build', '//google/api:google-api-java']' returned non-zero exit status 1.
2020-08-19 03:03:32,313 autosynth [ERROR] > Synthesis failed
2020-08-19 03:03:32,313 autosynth [DEBUG] > Running: git reset --hard HEAD
HEAD is now at a0b20f1 deps: update dependency io.grpc:grpc-bom to v1.31.1 (#16)
2020-08-19 03:03:32,320 autosynth [DEBUG] > Running: git checkout autosynth
Switched to branch 'autosynth'
2020-08-19 03:03:32,327 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 690, in <module>
    main()
  File "/tmpfs/src/github/synthtool/autosynth/synth.py", line 539, in main
    return _inner_main(temp_dir)
  File "/tmpfs/src/github/synthtool/autosynth/synth.py", line 670, in _inner_main
    commit_count = synthesize_loop(x, multiple_prs, change_pusher, synthesizer)
  File "/tmpfs/src/github/synthtool/autosynth/synth.py", line 375, in synthesize_loop
    has_changes = toolbox.synthesize_version_in_new_branch(synthesizer, youngest)
  File "/tmpfs/src/github/synthtool/autosynth/synth.py", line 273, in synthesize_version_in_new_branch
    synthesizer.synthesize(synth_log_path, self.environ)
  File "/tmpfs/src/github/synthtool/autosynth/synthesizer.py", line 120, 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 is still having trouble generating java-common-protos. :sob:
Here's the output from running synth.py:
6e895a69e1
Note: checking out 'a0b20f1d9bf787f3cc6c4634f13fcd6e895a69e1'.

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 a0b20f1 deps: update dependency io.grpc:grpc-bom to v1.31.1 (#16)
2020-08-19 18:20:16,924 autosynth [DEBUG] > Running: git checkout 9602086c6c5b05db77950c7f7495a2a3868f3537
Note: checking out '9602086c6c5b05db77950c7f7495a2a3868f3537'.

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 9602086 chore(java_templates): stop running pmd/spotbugs checks for samples (#730)
2020-08-19 18:20:16,931 autosynth [DEBUG] > Running: git branch -f autosynth-158
2020-08-19 18:20:16,935 autosynth [DEBUG] > Running: git checkout autosynth-158
Switched to branch 'autosynth-158'
2020-08-19 18:20:16,942 autosynth [INFO] > Running synthtool
2020-08-19 18:20:16,942 autosynth [INFO] > ['/tmpfs/src/github/synthtool/env/bin/python3', '-m', 'synthtool', '--metadata', 'synth.metadata', 'synth.py', '--']
2020-08-19 18:20:16,942 autosynth [DEBUG] > log_file_path: /tmpfs/src/logs/java-common-protos/158/sponge_log.log
2020-08-19 18:20:16,944 autosynth [DEBUG] > Running: /tmpfs/src/github/synthtool/env/bin/python3 -m synthtool --metadata synth.metadata synth.py --
2020-08-19 18:20:17,179 synthtool [DEBUG] > Executing /home/kbuilder/.cache/synthtool/java-common-protos/synth.py.
On branch autosynth-158
nothing to commit, working tree clean
2020-08-19 18:20:17,325 synthtool [DEBUG] > Ensuring dependencies.
2020-08-19 18:20:17,337 synthtool [DEBUG] > Cloning googleapis.
2020-08-19 18:20:18,004 synthtool [DEBUG] > Generating code for: //google/api:google-api-java.
2020-08-19 18:20:36,328 synthtool [ERROR] > Failed executing bazel --max_idle_secs=240 build //google/api:google-api-java:

Loading:
Loading: 0 packages loaded
Loading: 0 packages loaded
Loading: 0 packages loaded
INFO: SHA256 (https://github.com/googleapis/gapic-generator/archive/v2.4.5.zip) = 73f407fe381ab1ad3192176f2fbc0820d3c4aa62fcafe536685803e6853662a6
DEBUG: Rule 'com_google_api_codegen' indicated that a canonical reproducible form can be obtained by modifying arguments sha256 = "73f407fe381ab1ad3192176f2fbc0820d3c4aa62fcafe536685803e6853662a6"
DEBUG: Call stack for the definition of repository 'com_google_api_codegen' which is a http_archive (rule definition at /home/kbuilder/.cache/bazel/_bazel_kbuilder/a732f932c2cbeb7e37e1543f189a2a73/external/bazel_tools/tools/build_defs/repo/http.bzl:296:16):
 - <builtin>
 - /home/kbuilder/.cache/synthtool/googleapis/WORKSPACE:77:1
Loading: 0 packages loaded
INFO: SHA256 (https://github.com/googleapis/gapic-generator-python/archive/v0.32.0.zip) = 678d25a7944bae36d4e8192d9bfed697d645fd75ccacbd56b27b1b9ff256b569
DEBUG: Rule 'gapic_generator_python' indicated that a canonical reproducible form can be obtained by modifying arguments sha256 = "678d25a7944bae36d4e8192d9bfed697d645fd75ccacbd56b27b1b9ff256b569"
DEBUG: Call stack for the definition of repository 'gapic_generator_python' which is a http_archive (rule definition at /home/kbuilder/.cache/bazel/_bazel_kbuilder/a732f932c2cbeb7e37e1543f189a2a73/external/bazel_tools/tools/build_defs/repo/http.bzl:296:16):
 - <builtin>
 - /home/kbuilder/.cache/synthtool/googleapis/WORKSPACE:224:1
Loading: 0 packages loaded
Loading: 0 packages loaded
INFO: SHA256 (https://github.com/googleapis/gapic-generator-typescript/archive/v1.0.8.tar.gz) = a7114028de1eb5437d1d5bc1465070341cea4c4394a0bf713b429e8e396dab15
DEBUG: Rule 'gapic_generator_typescript' indicated that a canonical reproducible form can be obtained by modifying arguments sha256 = "a7114028de1eb5437d1d5bc1465070341cea4c4394a0bf713b429e8e396dab15"
DEBUG: Call stack for the definition of repository 'gapic_generator_typescript' which is a http_archive (rule definition at /home/kbuilder/.cache/bazel/_bazel_kbuilder/a732f932c2cbeb7e37e1543f189a2a73/external/bazel_tools/tools/build_defs/repo/http.bzl:296:16):
 - <builtin>
 - /home/kbuilder/.cache/synthtool/googleapis/WORKSPACE:280:1
INFO: SHA256 (https://github.com/googleapis/gapic-generator-ruby/archive/9cc95d8f4e05bdfe4ea9c67e6ca670f27c01c8f2.zip) = cfa78149b54f69f991b9f5fd1f5f8c68ead8b8b52679a9bd48afdfb3f5a32e41
Loading: 0 packages loaded
DEBUG: Rule 'gapic_generator_ruby' indicated that a canonical reproducible form can be obtained by modifying arguments sha256 = "cfa78149b54f69f991b9f5fd1f5f8c68ead8b8b52679a9bd48afdfb3f5a32e41"
DEBUG: Call stack for the definition of repository 'gapic_generator_ruby' which is a http_archive (rule definition at /home/kbuilder/.cache/bazel/_bazel_kbuilder/a732f932c2cbeb7e37e1543f189a2a73/external/bazel_tools/tools/build_defs/repo/http.bzl:296:16):
 - <builtin>
 - /home/kbuilder/.cache/synthtool/googleapis/WORKSPACE:332:1
ERROR: Skipping '//google/api:google-api-java': no such target '//google/api:google-api-java': target 'google-api-java' not declared in package 'google/api' defined by /home/kbuilder/.cache/synthtool/googleapis/google/api/BUILD.bazel
WARNING: Target pattern parsing failed.
ERROR: no such target '//google/api:google-api-java': target 'google-api-java' not declared in package 'google/api' defined by /home/kbuilder/.cache/synthtool/googleapis/google/api/BUILD.bazel
INFO: Elapsed time: 18.314s
INFO: 0 processes.
FAILED: Build did NOT complete successfully (1 packages loaded)
FAILED: Build did NOT complete successfully (1 packages loaded)

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/java-common-protos/synth.py", line 34, in <module>
    bazel_target=f"//google/{path}:{target}",
  File "/tmpfs/src/github/synthtool/synthtool/gcp/gapic_bazel.py", line 62, in java_library
    service, version, "java", tar_strip_components=0, **kwargs
  File "/tmpfs/src/github/synthtool/synthtool/gcp/gapic_bazel.py", line 183, in _generate_code
    shell.run(bazel_run_args)
  File "/tmpfs/src/github/synthtool/synthtool/shell.py", line 39, in run
    raise exc
  File "/tmpfs/src/github/synthtool/synthtool/shell.py", line 33, in run
    encoding="utf-8",
  File "/home/kbuilder/.pyenv/versions/3.6.9/lib/python3.6/subprocess.py", line 438, in run
    output=stdout, stderr=stderr)
subprocess.CalledProcessError: Command '['bazel', '--max_idle_secs=240', 'build', '//google/api:google-api-java']' returned non-zero exit status 1.
2020-08-19 18:20:36,417 autosynth [ERROR] > Synthesis failed
2020-08-19 18:20:36,417 autosynth [DEBUG] > Running: git reset --hard HEAD
HEAD is now at a0b20f1 deps: update dependency io.grpc:grpc-bom to v1.31.1 (#16)
2020-08-19 18:20:36,424 autosynth [DEBUG] > Running: git checkout autosynth
Switched to branch 'autosynth'
2020-08-19 18:20:36,430 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 690, in <module>
    main()
  File "/tmpfs/src/github/synthtool/autosynth/synth.py", line 539, in main
    return _inner_main(temp_dir)
  File "/tmpfs/src/github/synthtool/autosynth/synth.py", line 670, in _inner_main
    commit_count = synthesize_loop(x, multiple_prs, change_pusher, synthesizer)
  File "/tmpfs/src/github/synthtool/autosynth/synth.py", line 375, in synthesize_loop
    has_changes = toolbox.synthesize_version_in_new_branch(synthesizer, youngest)
  File "/tmpfs/src/github/synthtool/autosynth/synth.py", line 273, in synthesize_version_in_new_branch
    synthesizer.synthesize(synth_log_path, self.environ)
  File "/tmpfs/src/github/synthtool/autosynth/synthesizer.py", line 120, 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 is still having trouble generating java-common-protos. :sob:
Here's the output from running synth.py:
6e895a69e1
Note: checking out 'a0b20f1d9bf787f3cc6c4634f13fcd6e895a69e1'.

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 a0b20f1 deps: update dependency io.grpc:grpc-bom to v1.31.1 (#16)
2020-08-20 03:06:46,205 autosynth [DEBUG] > Running: git checkout 9602086c6c5b05db77950c7f7495a2a3868f3537
Note: checking out '9602086c6c5b05db77950c7f7495a2a3868f3537'.

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 9602086 chore(java_templates): stop running pmd/spotbugs checks for samples (#730)
2020-08-20 03:06:46,211 autosynth [DEBUG] > Running: git branch -f autosynth-158
2020-08-20 03:06:46,214 autosynth [DEBUG] > Running: git checkout autosynth-158
Switched to branch 'autosynth-158'
2020-08-20 03:06:46,219 autosynth [INFO] > Running synthtool
2020-08-20 03:06:46,219 autosynth [INFO] > ['/tmpfs/src/github/synthtool/env/bin/python3', '-m', 'synthtool', '--metadata', 'synth.metadata', 'synth.py', '--']
2020-08-20 03:06:46,219 autosynth [DEBUG] > log_file_path: /tmpfs/src/logs/java-common-protos/158/sponge_log.log
2020-08-20 03:06:46,221 autosynth [DEBUG] > Running: /tmpfs/src/github/synthtool/env/bin/python3 -m synthtool --metadata synth.metadata synth.py --
2020-08-20 03:06:46,426 synthtool [DEBUG] > Executing /home/kbuilder/.cache/synthtool/java-common-protos/synth.py.
On branch autosynth-158
nothing to commit, working tree clean
2020-08-20 03:06:46,554 synthtool [DEBUG] > Ensuring dependencies.
2020-08-20 03:06:46,564 synthtool [DEBUG] > Cloning googleapis.
2020-08-20 03:06:47,250 synthtool [DEBUG] > Generating code for: //google/api:google-api-java.
2020-08-20 03:07:04,893 synthtool [ERROR] > Failed executing bazel --max_idle_secs=240 build //google/api:google-api-java:

Loading:
Loading: 0 packages loaded
Loading: 0 packages loaded
Loading: 0 packages loaded
INFO: SHA256 (https://github.com/googleapis/gapic-generator/archive/v2.4.5.zip) = 73f407fe381ab1ad3192176f2fbc0820d3c4aa62fcafe536685803e6853662a6
Loading: 0 packages loaded
DEBUG: Rule 'com_google_api_codegen' indicated that a canonical reproducible form can be obtained by modifying arguments sha256 = "73f407fe381ab1ad3192176f2fbc0820d3c4aa62fcafe536685803e6853662a6"
DEBUG: Call stack for the definition of repository 'com_google_api_codegen' which is a http_archive (rule definition at /home/kbuilder/.cache/bazel/_bazel_kbuilder/a732f932c2cbeb7e37e1543f189a2a73/external/bazel_tools/tools/build_defs/repo/http.bzl:296:16):
 - <builtin>
 - /home/kbuilder/.cache/synthtool/googleapis/WORKSPACE:77:1
INFO: SHA256 (https://github.com/googleapis/gapic-generator-python/archive/v0.32.0.zip) = 678d25a7944bae36d4e8192d9bfed697d645fd75ccacbd56b27b1b9ff256b569
DEBUG: Rule 'gapic_generator_python' indicated that a canonical reproducible form can be obtained by modifying arguments sha256 = "678d25a7944bae36d4e8192d9bfed697d645fd75ccacbd56b27b1b9ff256b569"
DEBUG: Call stack for the definition of repository 'gapic_generator_python' which is a http_archive (rule definition at /home/kbuilder/.cache/bazel/_bazel_kbuilder/a732f932c2cbeb7e37e1543f189a2a73/external/bazel_tools/tools/build_defs/repo/http.bzl:296:16):
 - <builtin>
 - /home/kbuilder/.cache/synthtool/googleapis/WORKSPACE:224:1
Loading: 0 packages loaded
Loading: 0 packages loaded
INFO: SHA256 (https://github.com/googleapis/gapic-generator-typescript/archive/v1.0.8.tar.gz) = a7114028de1eb5437d1d5bc1465070341cea4c4394a0bf713b429e8e396dab15
DEBUG: Rule 'gapic_generator_typescript' indicated that a canonical reproducible form can be obtained by modifying arguments sha256 = "a7114028de1eb5437d1d5bc1465070341cea4c4394a0bf713b429e8e396dab15"
DEBUG: Call stack for the definition of repository 'gapic_generator_typescript' which is a http_archive (rule definition at /home/kbuilder/.cache/bazel/_bazel_kbuilder/a732f932c2cbeb7e37e1543f189a2a73/external/bazel_tools/tools/build_defs/repo/http.bzl:296:16):
 - <builtin>
 - /home/kbuilder/.cache/synthtool/googleapis/WORKSPACE:280:1
Loading: 0 packages loaded
INFO: SHA256 (https://github.com/googleapis/gapic-generator-ruby/archive/9cc95d8f4e05bdfe4ea9c67e6ca670f27c01c8f2.zip) = cfa78149b54f69f991b9f5fd1f5f8c68ead8b8b52679a9bd48afdfb3f5a32e41
DEBUG: Rule 'gapic_generator_ruby' indicated that a canonical reproducible form can be obtained by modifying arguments sha256 = "cfa78149b54f69f991b9f5fd1f5f8c68ead8b8b52679a9bd48afdfb3f5a32e41"
DEBUG: Call stack for the definition of repository 'gapic_generator_ruby' which is a http_archive (rule definition at /home/kbuilder/.cache/bazel/_bazel_kbuilder/a732f932c2cbeb7e37e1543f189a2a73/external/bazel_tools/tools/build_defs/repo/http.bzl:296:16):
 - <builtin>
 - /home/kbuilder/.cache/synthtool/googleapis/WORKSPACE:332:1
ERROR: Skipping '//google/api:google-api-java': no such target '//google/api:google-api-java': target 'google-api-java' not declared in package 'google/api' defined by /home/kbuilder/.cache/synthtool/googleapis/google/api/BUILD.bazel
WARNING: Target pattern parsing failed.
ERROR: no such target '//google/api:google-api-java': target 'google-api-java' not declared in package 'google/api' defined by /home/kbuilder/.cache/synthtool/googleapis/google/api/BUILD.bazel
INFO: Elapsed time: 17.635s
INFO: 0 processes.
FAILED: Build did NOT complete successfully (1 packages loaded)
FAILED: Build did NOT complete successfully (1 packages loaded)

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/java-common-protos/synth.py", line 34, in <module>
    bazel_target=f"//google/{path}:{target}",
  File "/tmpfs/src/github/synthtool/synthtool/gcp/gapic_bazel.py", line 62, in java_library
    service, version, "java", tar_strip_components=0, **kwargs
  File "/tmpfs/src/github/synthtool/synthtool/gcp/gapic_bazel.py", line 183, in _generate_code
    shell.run(bazel_run_args)
  File "/tmpfs/src/github/synthtool/synthtool/shell.py", line 39, in run
    raise exc
  File "/tmpfs/src/github/synthtool/synthtool/shell.py", line 33, in run
    encoding="utf-8",
  File "/home/kbuilder/.pyenv/versions/3.6.9/lib/python3.6/subprocess.py", line 438, in run
    output=stdout, stderr=stderr)
subprocess.CalledProcessError: Command '['bazel', '--max_idle_secs=240', 'build', '//google/api:google-api-java']' returned non-zero exit status 1.
2020-08-20 03:07:04,957 autosynth [ERROR] > Synthesis failed
2020-08-20 03:07:04,958 autosynth [DEBUG] > Running: git reset --hard HEAD
HEAD is now at a0b20f1 deps: update dependency io.grpc:grpc-bom to v1.31.1 (#16)
2020-08-20 03:07:04,964 autosynth [DEBUG] > Running: git checkout autosynth
Switched to branch 'autosynth'
2020-08-20 03:07:04,969 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 690, in <module>
    main()
  File "/tmpfs/src/github/synthtool/autosynth/synth.py", line 539, in main
    return _inner_main(temp_dir)
  File "/tmpfs/src/github/synthtool/autosynth/synth.py", line 670, in _inner_main
    commit_count = synthesize_loop(x, multiple_prs, change_pusher, synthesizer)
  File "/tmpfs/src/github/synthtool/autosynth/synth.py", line 375, in synthesize_loop
    has_changes = toolbox.synthesize_version_in_new_branch(synthesizer, youngest)
  File "/tmpfs/src/github/synthtool/autosynth/synth.py", line 273, in synthesize_version_in_new_branch
    synthesizer.synthesize(synth_log_path, self.environ)
  File "/tmpfs/src/github/synthtool/autosynth/synthesizer.py", line 120, 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.


feat(agent): native CodeAct support for Browsing

End-user friendly description of the problem this fixes or functionality that this introduces

[X] Include this change in the Release Notes. If checked, you must provide an end-user friendly description for your change below

Allow CodeAct agent to perform web browsing by itself (no more delegation to BrowsingAgent).

Give a summary of what the PR does, explaining any non-trivial design decisions

Attach BrowserGym's action space (accessibility tree) to CodeAct directly
Add integration test to make sure it is working

Example traj:
Look at https://github.com/All-Hands-AI/OpenHands/pull/8, and tell me what is happening there and what did @asadm suggest.

**BrowseInteractiveAction**
THOUGHT: I'll help you look at that GitHub pull request. Let me navigate to the URL.
BROWSER_ACTIONS: goto('https://github.com/All-Hands-AI/OpenHands/pull/8')

15:29:38 - openhands:DEBUG: stream.py:148 - Adding BrowserOutputObservation id=4 from AGENT
15:29:38 - openhands:DEBUG: agent_controller.py:135
OBSERVATION
[Agent Controller default] **BrowserOutputObservation**
URL: https://github.com/All-Hands-AI/OpenHands/pull/8
Error: False
Open pages: ['https://github.com/All-Hands-AI/OpenHands/pull/8']
Active page index: 0
Last browser action: goto('https://github.com/All-Hands-AI/OpenHands/pull/8')
Last browser action error:
Focused element bid: 149
AX tree: RootWebArea 'Add MIT LICENSE by asadm · Pull Request #8 · All-Hands-AI/OpenHands · GitHub', focused
        [152] link 'Skip to content', clickable
        [170] banner ''
                [171] heading 'Navigation Menu'
                [183] link 'Homepage', clickable
                [189] navigation 'Global'
                        [190] list ''
                                [191] listitem ''
                                        [192] button 'Product', expanded=False
                                [253] listitem ''
                                        [254] button 'Solutions', expanded=False
                                [295] listitem ''
                                        [296] button 'Resources', expanded=False
                                [328] listitem ''
                                        [329] button 'Open Source', expanded=False
                                [354] listitem ''
                                        [355] button 'Enterprise', expanded=False
                                [384] listitem ''
                                        [385] link 'Pricing', clickable
                [388] button 'Search or jump to…', clickable, hasPopup='dialog'
                [510] link 'Sign in', clickable
                [511] link 'Sign up', clickable
        [530] main ''
                [537] link 'All-Hands-AI', clickable
                StaticText '/'
                [539] strong ''
                        [540] link 'OpenHands', clickable
                StaticText 'Public'
                [544] list ''
                        [545] listitem ''
                                [546] link 'You must be signed in to change notification settings', clickable, describedby='tooltip-56ff1a9d-4cda-4907-860a-9064338030c4'
                                        StaticText 'Notifications'
                        [549] listitem ''
                                [550] link 'Fork 3.8k', clickable
                                        StaticText '3.8k'
                        [553] listitem ''
                                [555] link 'You must be signed in to star a repository', clickable
                                        StaticText 'Star'
                                        StaticText '33.3k'
                [560] navigation 'Repository'
                        [561] list ''
                                [562] listitem ''
                                        [563] link 'Code', clickable
                                                StaticText 'Code'
                                [567] listitem ''
                                        [568] link 'Issues 141', clickable
                                                StaticText 'Issues'
                                [572] listitem ''
                                        [573] link 'Pull requests 35', clickable
                                                StaticText 'Pull requests'
                                [577] listitem ''
                                        [578] link 'Discussions', clickable
                                                StaticText 'Discussions'
                                [582] listitem ''
                                        [583] link 'Actions', clickable
                                                StaticText 'Actions'
                                [587] listitem ''
                                        [588] link 'Projects 2', clickable
                                                StaticText 'Projects'
                                [592] listitem ''
                                        [593] link 'Security', clickable
                                                StaticText 'Security'
                                [596] listitem ''
                                        [597] link 'Insights', clickable
                                                StaticText 'Insights'
                [656] Details ''
                        [657] button 'New issue', clickable, expanded=False
                [675] heading 'Add MIT LICENSE #8'
                        StaticText 'Add MIT LICENSE'
                        StaticText '#8'
                [683] link 'huybery', clickable
                StaticText 'merged 1 commit into'
                [685] link 'All-Hands-AI:main', clickable
                        StaticText 'All-Hands-AI'
                        StaticText 'main'
                StaticText 'from'
                [690] link 'asadm:patch-1', clickable
                        StaticText 'asadm'
                        StaticText 'patch-1'
                button 'Copy'
                [697] generic, live='polite', atomic, relevant='additions text'
                StaticText 'on Mar 16'
                StaticText '+25'
                StaticText '−0'
                [738] navigation 'Pull request tabs'
                        [739] link 'Conversation 5', clickable
                        [742] link 'Commits 1', clickable
                        [745] link 'Checks 0', clickable
                        [748] link 'Files changed 1', clickable
                [754] heading 'Conversation'
                [761] link 'asadm', clickable
                        [762] image 'asadm'
                [767] Details '', clickable
                        [768] button 'Show options', clickable, hasPopup='menu', expanded=False
                                [771] image 'Show options'
                StaticText 'Contributor'
                [777] heading 'asadm commented on Mar 14'
                        [780] strong ''
                                [781] link 'asadm', clickable
                                StaticText ''
                        StaticText 'commented'
                        [782] link 'on Mar 14', clickable
                                StaticText 'on Mar 14'
                [786] paragraph ''
                        StaticText 'Before we began, we should decide on a license. If this is "open", I would consider MIT or Apache 2.0 to be safe choices.'
                [787] Section ''
                [798] Section ''
                        [803] button 'thumbs up (2): asadm, 07:11AM on March 14', disabled=True, pressed='false', describedby='tooltip-bc724ba6-b267-4393-869d-1b1932b3f802'
                                [804] image '+1'
                                StaticText '2'
                        [807] button 'thumbs down (4): asadm, 07:11AM on March 14', disabled=True, pressed='false', describedby='tooltip-4da75324-5eee-4d45-ab2d-1c5ca2725b86'
                                [808] image '-1'
                                StaticText '4'
                [836] link '@asadm', clickable
                        [837] image '@asadm'
                [839] code ''
                        [840] link 'Create MIT LICENSE', clickable
                [842] button 'Verified'
                        StaticText 'Verified'
                [867] code ''
                        [868] link '70b4ebf', clickable
                [872] link '@jjfantini', clickable
                        [873] image '@jjfantini'
                [878] Details '', clickable
                        [879] button 'Show options', clickable, hasPopup='menu', expanded=False
                                [882] image 'Show options'
                [886] heading 'jjfantini commented on Mar 14'
                        [888] strong ''
                                [889] link 'jjfantini', clickable
                                StaticText ''
                        StaticText 'commented'
                        [890] link 'on Mar 14', clickable
                                StaticText 'on Mar 14'
                [892] LayoutTable ''
                        [894] LayoutTableRow ''
                                [895] LayoutTableCell 'what about an open license that restricts commercial use? to keep it for the people?'
                                        [896] paragraph ''
                                                StaticText 'what about an open license that restricts commercial use? to keep it for the people?'
                [900] Section ''
                        [906] button 'react with thumbs up', disabled=True, pressed='false', describedby='tooltip-b65a16ac-f9df-4931-a728-0b5b0f98ac3b'
                                [907] image '+1'
                                StaticText '1'
                [919] Section ''
                [931] link '@pombredanne', clickable
                        [932] image '@pombredanne'
                [937] Details '', clickable
                        [938] button 'Show options', clickable, hasPopup='menu', expanded=False
                                [941] image 'Show options'
                [945] heading 'pombredanne commented on Mar 15'
                        [947] strong ''
                                [948] link 'pombredanne', clickable
                                StaticText ''
                        StaticText 'commented'
                        [949] link 'on Mar 15', clickable
                                StaticText 'on Mar 15'
                [951] LayoutTable ''
                        [953] LayoutTableRow ''
                                [954] LayoutTableCell 'Then this is proprietary, not open source.'
                                        [955] blockquote ''
                                                [956] paragraph ''
                                                        StaticText 'what about an open license that restricts commercial use? to keep it for the people?'
                                        [957] paragraph ''
                                                StaticText 'Then this is proprietary, not open source.'
                [961] Section ''
                        [967] button 'react with thumbs up', disabled=True, pressed='false', describedby='tooltip-85b71239-9ad3-4abf-a6b0-3a75a3699ea5'
                                [968] image '+1'
                                StaticText '1'
                [980] Section ''
                [992] link '@asadm', clickable
                        [993] image '@asadm'
                [998] Details '', clickable
                        [999] button 'Show options', clickable, hasPopup='menu', expanded=False
                                [1002] image 'Show options'
                StaticText 'Contributor'
                StaticText 'Author'
                [1010] heading 'asadm commented on Mar 15'
                        [1012] strong ''
                                [1013] link 'asadm', clickable
                                StaticText ''
                        StaticText 'commented'
                        [1014] link 'on Mar 15', clickable
                                StaticText 'on Mar 15'
                [1016] LayoutTable ''
                        [1018] LayoutTableRow ''
                                [1019] LayoutTableCell "If we go with a non-commercial license: many will not contribute at all, since it's not open source in true sense commercial folks will just reimplement ideas here, LoC vs. impact is pretty low in genAI world, will take a weekend to replicate ideas this repo will be left behind."
                                        [1020] paragraph ''
                                                StaticText 'If we go with a non-commercial license:'
                                        [1021] list ''
                                                [1022] listitem ''
                                                        ListMarker '•'
                                                        StaticText "many will not contribute at all, since it's not open source in true sense"
                                                [1023] listitem ''
                                                        ListMarker '•'
                                                        StaticText 'commercial folks will just reimplement ideas here, LoC vs. impact is pretty low in genAI world, will take a weekend to replicate ideas'
                                                [1024] listitem ''
                                                        ListMarker '•'
                                                        StaticText 'this repo will be left behind.'
                [1028] Section ''
                        [1034] button 'react with thumbs up', disabled=True, pressed='false', describedby='tooltip-9bcae276-b28b-4a34-aa56-39a18ca3bf9d'
                                [1035] image '+1'
                                StaticText '3'
                [1047] Section ''
                [1059] link '@hannibalhuang', clickable
                        [1060] image '@hannibalhuang'
                [1065] Details '', clickable
                        [1066] button 'Show options', clickable, hasPopup='menu', expanded=False
                                [1069] image 'Show options'
                [1073] heading 'hannibalhuang commented on Mar 16'
                        [1075] strong ''
                                [1076] link 'hannibalhuang', clickable
                                StaticText ''
                        StaticText 'commented'
                        [1077] link 'on Mar 16', clickable
                                StaticText 'on Mar 16'
                [1079] LayoutTable ''
                        [1081] LayoutTableRow ''
                                [1082] LayoutTableCell 'agree with @asadm here and also just commented on issue #10 , MIT or Apache 2.0 are safer choices than CC-bys'
                                        [1083] paragraph ''
                                                StaticText 'agree with'
                                                [1084] link '@asadm', clickable
                                                StaticText 'here and also just commented on issue'
                                                [1085] link '#10', clickable
                                                StaticText ', MIT or Apache 2.0 are safer choices than CC-bys'
                [1101] Section ''
                [1116] link '@huybery', clickable
                        [1117] image '@huybery'
                [1118] link 'huybery', clickable
                StaticText 'mentioned this pull request'
                [1119] link 'on Mar 16', clickable
                        StaticText 'on Mar 16'
                [1122] link 'Which open source licence? #10', clickable
                        StaticText '#10'
                [1130] link '@huybery', clickable
                        [1131] image '@huybery'
                [1136] Details '', clickable
                        [1137] button 'Show options', clickable, hasPopup='menu', expanded=False
                                [1140] image 'Show options'
                StaticText 'Collaborator'
                [1146] heading 'huybery commented on Mar 16'
                        [1148] strong ''
                                [1149] link 'huybery', clickable
                                StaticText ''
                        StaticText 'commented'
                        [1150] link 'on Mar 16', clickable
                                StaticText 'on Mar 16'
                [1152] LayoutTable ''
                        [1154] LayoutTableRow ''
                                [1155] LayoutTableCell 'Thank you @asadm , more people think the MIT license is a better fit for OpenDevin.'
                                        [1156] paragraph ''
                                                StaticText 'Thank you'
                                                [1157] link '@asadm', clickable
                                                StaticText ', more people think the MIT license is a better fit for OpenDevin.'
                [1161] Section ''
                        [1167] button 'react with heart', disabled=True, pressed='false', describedby='tooltip-ef355302-058e-4025-a6f6-93da25b44ff1'
                                [1168] image 'heart'
                                StaticText '3'
                [1180] Section ''
                [1194] link '@huybery', clickable
                        [1195] image '@huybery'
                [1196] link 'huybery', clickable
                StaticText 'merged commit'
                [1197] link '39add27', clickable
                        [1198] code ''
                                StaticText '39add27'
                StaticText 'into'
                StaticText 'All-Hands-AI'
                StaticText ':'
                StaticText 'main'
                [1203] link 'on Mar 16', clickable
                        StaticText 'on Mar 16'
                [1210] link '@neubig', clickable
                        [1211] image '@neubig'
                [1212] link 'neubig', clickable
                StaticText 'mentioned this pull request'
                [1213] link 'on Mar 16', clickable
                        StaticText 'on Mar 16'
                [1216] link 'LICENSE - Attribution-NonCommercial 4.0 International #12', clickable
                        StaticText '#12'
                [1225] link 'xcodebuild', clickable
                StaticText 'pushed a commit to xcodebuild/OpenDevin that referenced this pull request'
                [1226] link 'on Mar 31', clickable
                        StaticText 'on Mar 31'
                [1233] link '@asadm', clickable
                        [1234] image '@asadm'
                [1236] code ''
                        [1237] link 'Create MIT LICENSE (', clickable
                        [1238] link 'All-Hands-AI#8', clickable
                        [1239] link ')', clickable
                [1243] code ''
                        [1244] link 'a4a2c3f', clickable
                [1250] link '@enyst', clickable
                        [1251] image '@enyst'
                [1252] link 'enyst', clickable
                StaticText 'mentioned this pull request'
                [1253] link 'on Sep 19', clickable
                        StaticText 'on Sep 19'
                [1256] link "[Bug]: LLM retries don't obey Ctrl+C either #3965", clickable
                        StaticText '#3965'
                StaticText '2 tasks'
                [1274] link 'Sign up for free', clickable
                [1275] strong ''
                        StaticText 'to join this conversation on GitHub'
                StaticText '. Already have an account?'
                [1276] link 'Sign in to comment', clickable
                [1280] form 'Select reviewers'
                        StaticText 'Reviewers'
                        StaticText 'No reviews'
                [1286] form 'Select assignees'
                        StaticText 'Assignees'
                        StaticText 'No one assigned'
                StaticText 'Labels'
                StaticText 'None yet'
                [1295] form 'Select projects'
                        StaticText 'Projects'
                        [1299] generic, live='polite', relevant='additions text'
                        StaticText 'None yet'
                [1302] form 'Select milestones'
                        StaticText 'Milestone'
                        StaticText 'No milestone'
                [1308] form 'Link issues'
                        StaticText 'Development'
                        [1312] paragraph ''
                                StaticText 'Successfully merging this pull request may close these issues.'
                        [1314] paragraph ''
                                StaticText 'None yet'
                StaticText '5 participants'
                [1319] link '@asadm', clickable
                        [1320] image '@asadm'
                [1321] link '@jjfantini', clickable
                        [1322] image '@jjfantini'
                [1323] link '@pombredanne', clickable
                        [1324] image '@pombredanne'
                [1325] link '@hannibalhuang', clickable
                        [1326] image '@hannibalhuang'
                [1327] link '@huybery', clickable
                        [1328] image '@huybery'
        [1346] contentinfo ''
                [1347] heading 'Footer'
                [1350] link 'Homepage', clickable
                StaticText '© 2024 GitHub,\xa0Inc.'
                [1353] navigation 'Footer'
                        [1354] heading 'Footer navigation'
                        [1355] list 'Footer navigation'
                                [1356] listitem ''
                                        [1357] link 'Terms', clickable
                                [1358] listitem ''
                                        [1359] link 'Privacy', clickable
                                [1360] listitem ''
                                        [1361] link 'Security', clickable
                                [1362] listitem ''
                                        [1363] link 'Status', clickable
                                [1364] listitem ''
                                        [1365] link 'Docs', clickable
                                [1366] listitem ''
                                        [1367] link 'Contact', clickable
                                [1368] listitem ''
                                        [1369] button 'Manage cookies', clickable
                                [1370] listitem ''
                                        [1371] button 'Do not share my personal information', clickable
        [1381] generic, live='polite', atomic, relevant='additions text'
        [1382] generic, live='assertive', atomic, relevant='additions text'

==============
[Agent Controller default] LEVEL 0 LOCAL STEP 1 GLOBAL STEP 1

15:29:51 - openhands:DEBUG: llm.py:405 - Cost: 0.03 USD | Accumulated Cost: 0.08 USD
Input tokens: 7993 | Output tokens: 384

15:29:51 - openhands:DEBUG: agent_controller.py:135
ACTION
[Agent Controller default] **MessageAction** (source=None)
CONTENT: Based on the GitHub pull request, here's what happened:

1. @asadm created a pull request (#8) to add an MIT LICENSE to the OpenHands repository.

2. In his initial comment, @asadm suggested:
   > "Before we began, we should decide on a license. If this is 'open', I would consider MIT or Apache 2.0 to be safe choices."

3. There was a discussion about licensing where:
   - @jjfantini suggested considering a license that restricts commercial use
   - @pombredanne pointed out that restricting commercial use would make it proprietary, not open source

4. @asadm made a strong case against non-commercial licenses, explaining that:
   - Many people won't contribute if it's not truly open source
   - Commercial entities would just reimplement the ideas anyway (especially in the GenAI world where code replication is relatively quick)
   - The repository would likely be left behind

5. @hannibalhuang and @huybery agreed with @asadm's suggestion, and ultimately the pull request was merged, adding the MIT license to the repository.

The key insight from @asadm was that choosing a permissive license like MIT or Apache 2.0 would be better for the project's growth and adoption, rather than trying to restrict commercial use. His argument was particularly relevant for AI projects where the barrier to reimplementation is relatively low, and having a truly open license would encourage more community participation and adoption.

The pull request was successful and the MIT license was added to the repository, making it fully open source with very permissive terms for both commercial and non-commercial use.

Link of any specific issues this addresses

To run this PR locally, use the following command:
docker run -it --rm   -p 3000:3000   -v /var/run/docker.sock:/var/run/docker.sock   --add-host host.docker.internal:host-gateway   -e SANDBOX_RUNTIME_CONTAINER_IMAGE=ghcr.io/all-hands-ai/runtime:25d8d49-nikolaik   --name openhands-app-25d8d49   ghcr.io/all-hands-ai/runtime:25d8d49

Temporarily convert this to draft as i'm still running some eval to make sure this doesn't degrade our SWE-Bench perf & we are getting some reasonable browsing performance

SWE-Bench Lite: 130/299 (43%) on this PR is comparable (and better) to our https://www.swebench.com/ submission (41.67%)
## Summary
- submitted instances: 299
- empty patch instances: 3
- resolved instances: 130
- unresolved instances: 169
- error instances: 0

Running Miniwob now

Miniwob performance (86/125) = 68.8% - this is even better than our Browsing agent in the paper after some bug fixes :)

SWE-Bench Lite: 130/299 (43%) on this PR is comparable (and better) to our https://www.swebench.com/ submission (41.67%)

Awesome! 🥳
Why do you think that may be? It's very interesting to see, because if we're adding here a new action, and it isn't used for these tasks, just known to the LLM... it seems counterintuitive that the LLM is doing better? Could it be that these 2% are part of the normal variance with tools use, or what could explain it?

Could it be that these 2% are part of the normal variance with tools use, or what could explain it?

@enyst my intuition is that it is likely randomness maybe plus a lot of smaller fixes we've merged in main :)

Miniwob

This result is really surprising! It's counterintuitive that if you just inject the same browser agent prompt into a larger whole prompt (i.e., the code act agent 2.2 prompt), the browser-related benchmark could be significantly better. So, is the browser part of the prompt the same? And are you testing this with the same LLM model?


Feature/block on native comp

This is a useful option to have, I feel.
I want my emacs --daemon to start and block on native-compilation finishing, so that I can then CRIU-checkpoint the process with https://gitlab.com/blak3mill3r/emacs-ludicrous-speed
This change reintroduces the straight--wait-for-async-jobs function and disables it by default.

This code as it is does not appear to work. Even with straight--wait-for-async-jobs set to t it still seems to happen asynchronously.

This thread is being closed automatically by Tidier because it is labeled with "waiting on response" and has not seen any activity for 90 days. But don't worry—if you have any information that might advance the discussion, leave a comment and I will be happy to reopen the thread :)


Error 4214/Not able to connect to the server and can't delete old accounts

I uninstalled the old version of Cultivation and installed the latest to play in the private servers of Genshin Impact 3.1 but I can't delete my old accounts as before when I turn on the server, also when I try to access an already existing account I can't manage to playing because it gives me an error 4214 or says it is unable to connect to the server, I reinstalled it and restarted the computer several times but didn't get any results.

Anything server related is unrelated to this repository.
4214 usually occurs due to no patched UA (which is not yet done by Cultivation.)
See the Discord for further support on common issues.


Error: No such file or directory

After installing the dependencies:
rimraf, ncp, mustache, mkdirp, electron-packager, electron-localshortcut, command-line-args
When running electron-wrapper -h i have this error No such file or directory. Are those dependencies correct?

Hi Phillip, those dependencies are correct. If you're having issues with the help flag, my guess is that you didn't install the npm module globally.
Use npm install -g electron-wrapper (the -g flag means global) and try electron-wrapper -h again.
Let me know if there's anything else I can do to help!

@bbatliner Unfortunately the same problem. I install all the discrepancies with sudo npm install -g <npm package>. And then electron wrapper with npm install -g electron-wrapper. I still have the same error:
$ sudo electron-wrapper -h
: No such file or directory

I am using https://www.npmjs.com/package/nativefier, and it works fine. We can close this issue. Very strange it did not work though...
Thanks for the assistance @bbatliner


install.sh doesn't work on FreeBSD

It exits after this line: https://github.com/robbyrussell/oh-my-zsh/blob/master/tools/install.sh#L1
I'm not sure what -e does, it's hard to search for this command.  Removing this line and the installer works fine.  Wish I had more specific information about why this fails.

Same thing here, and the script didn't exit when done, had to Ctrl-C it. But seems to have installed and generated a proper .zshrc again. I'm running FreeBSD 10.2, didn't have this problem on earlier version.

set -e causes any error (as indicated by a nonzero exit status for a command) to abort the rest of the script and exit the shell, and is intentional. It's a built-in shell command in Bourne-style shells. To look up shell commands and options like this, do man sh and search for "-e".
How do you know it is exiting at that line? Normally the shell doesn't tell you what line it exits after, or even which command errored. Perhaps what is going on is that some other command is erroring at a different point, and removing the set -e causes that error to no longer terminate the script.
 Does it include any error messages? Can you post the full output here?
The installer works for me on PC-BSD 10.1, which is based on FreeBSD 10.1. Sounds like something changed for 10.2. I'll set up a 10.2. machine and try to reproduce.

I don't recall exactly when it exited but I was doing some echos and they stopped after the first couple of fis, I'd say no later than here: https://github.com/robbyrussell/oh-my-zsh/blob/master/tools/install.sh#L23

You can turn on shell tracing with -x to see exactly where it's going wrong. I'm able to reproduce it on PC-BSD 10.2, and this is what I'm seeing.
[~] $ sh -xc "$(cat local/opp/omz/oh-my-zsh/tools/install.sh)"
+ set -e
+ which tput
+ tput=/usr/bin/tput
+ [ -n /usr/bin/tput ]
+ /usr/bin/tput colors
+ ncolors=80
+ [ -t 1 ]
+ [ -n 80 ]
+ [ 80 -ge 8 ]
+ tput setaf 1
+ RED=''
[~] $

Looks like tput setaf 1 is erroring out. I poked around a bit, and it looks like this is because the FreeBSD tput is using the termcap database instead of terminfo, so it supports short termcap style capability names. tput AF is required here instead of tput setaf.
The tput colors doesn't work right here either. It's being interpreted as tput co, which is actually tput columns, so it will always return a larger number (like 89) even if the $TERM doesn't support color.
Probably caused by #3664, which switched the coloring code from hardcoded xterm escape sequences to the tput calls.
We'll need to add an additional check for tput portability. But in the meantime, just moving that set -e down below the color-picking stuff should work. The color stuff is just cosmetic, so it doesn't matter if it fails. And as a hack to get it to run, you can just do sh -c $(wget ...) | cat to run the installer: piping the output to cat means it's no longer outputting to a tty, so it won't attempt the colorization and won't run in to that tput error.
We really ought to change the installer so that if it runs in to an error and that set -e is triggered, it actually prints out an error message instead of just quitting. Users may not notice the nonzero exit status and may not understand what's happening.

There's a fix in #4419. Could you try it out and see if it fixes your issue?

It works, thanks!

@apjanke can this issue be closed or do you keep them open to wait for a release?

Leave it open until the fix is merged. That'll make it less likely for duplicate reports to come in.

Getting the same behaviour in freebsd 12.0

Can you post the log of your installation attempt?


ServerServiceDefinition lift class restriction

Is your feature request related to a problem? Please describe.
I am trying to convert our current client/server solution to gRPC and for that I am doing a POC.
But using our existing datacontracts I immediately got bitten by this:
public Builder AddMethod<TRequest, TResponse>(
                Method<TRequest, TResponse> method,
                UnaryServerMethod<TRequest, TResponse> handler)
                    where TRequest : class
                    where TResponse : class
            {
                duplicateDetector.Add(method.FullName, null);
                addMethodActions.Add((serviceBinder) => serviceBinder.AddMethod(method, handler));
                return this;
            }

And that stopped me - since we use structs mixed with classes and.
Basically I am trying to create my own Method definitions and not use protobuf and apparently AddMethod requires that the Request and Response classes have to classes.
Describe the solution you'd like
Remove the class constraint and allow structs to be used as messages
Describe alternatives you've considered
None - since changing our existing contracts to use classes will impact the performance of our current solution, since classes gets allocated on the slower heap instead of on the stack

Looks like this is a duplicate of https://github.com/grpc/grpc/issues/22605.


deploy NPM package

This task is deploy this repository as an NPM package.

https://www.npmjs.com/package/token-negotiator


https://franpapers.com/en/algorithmic/2018-introduction-to-fountain-codes-lt-codes-with-python/

https://franpapers.com/en/algorithmic/2018-introduction-to-fountain-codes-lt-codes-with-python/ no longer works

https://web.archive.org/web/20181110184516/https://franpapers.com/en/algorithmic/2018-introduction-to-fountain-codes-lt-codes-with-python/

thanks ashleylamont, what value of EPSILON should I take?


fix(toc): removing wrong spacing for horizontal rule

Related Ticket(s)
[Callout quote] On DotcomShell story, above the link no spacing #6574
Description
This margin was interfering with all hr elements inside the TOC. Plus I didn't find anything related to this being necessary for any of the visual specs.

Hey @guilhermelMoraes the spacing on the Callout quote looks good.
I do see a change in the horizontal rule padding under the lead space block on the Dotcom shell stores that seems pretty significant. Was that margin top also controlling the padding there? Should we open a separate issue?


start-notebook isn't there anymore

Thanks for the image. However, while trying to build it, I got:
Step 28 : ADD https://raw.githubusercontent.com/jupyter/docker-stacks/master/minimal-notebook/start-notebook.sh /usr/local/bin/
Got HTTP status code >= 400: 404 Not Found

Thanks for the report! Will look into it (hope I'll manage today).

Should be fixed now. Still testing the dada2 branch but master is fine. Sorry for the delay.


How can validation the data after push to Blockchain with Fingerprint or Block number

With your help. I can import XML data to Supply Chains test network. All my data from "example_gs1.xml" success import to ArangoDB and writing Fingerprint of this data to blockchain. So, How can I validation the data I imported to Blockchain with Fingerprint or Block number.
This is my first scenario:
1/ I Import data to Supply Chainins, everything success. I have Fingerprint and Block number for this data.
2/ After two years, I have the XML file contain this data from step 1, I need to validation this data from XML file still original or modified.
This is my second scenario:
1/ I setup the Supply Chains network with 5 node (node is the PC runs on many different networks).
2/ From each node I import the data for specific products (Egg or carrot) but different time.
3/ How can I get the "Chains" for specific products (Egg or carrot) from Supply Chains and validation my XML file with this data.
So how can I do that?
Thank you.

Hi,
regarding question 1, we are dealing with a slightly different scenario here. Our scenario is that you upload XML data. Once it is uploaded, it gets imported into ArangoDB and it gets replicated to several other nodes. In two years you ask for the data and some of the nodes sends it back. We provide mechanism so that what you receive back is also hashed and compared to fingerprint from two years ago, so you know for sure that who was holding the data didn't changed it and it is the same data.
Then you can export it to XML if you like, and it should be exactly the same XML. So this is the aim of our protocol and what we provide.
However, you can easily achieve what you described as well. Same input should always produce the same root hash and same fingerprint. You may create a dApp that will compare new import hash with the old one.
Regarding scenario 2, this is exactly what we are solving. You will ask a network to give you specific product, for example by some identifier (like ID, or barcode) and it should return you all the data available for that product - the trail for that product, regardless where exactly is the data. We are developing an API that will provide range of queries.
You may be interested to checkout our pilot from January 2018 http://yimi-pilot.origintrail.io/ that showcases this process.

This will be ready for TestNet launch and we are preparing API documentation. Stay tuned and please reopen if you find more difficulties.


Not working

It shows online IP's
And Showing spoofing started goes on 1 hour,2 hour, etc
Not working at all..

it shows me 3 random ip addresses and no vendor and i have to type my own IP address and mac address. Can anyone help? if you have any answers plz dm me on Instagram. samiabu123

same issue here.


Python3 support. Fixes #9

I tried to run the tests but I get a lot of noisy output, see #14 I think I'm probably calling the test in a wrong way. Besides that, running the tests on current HEAD with python2 and this branch  bde64f3 with python 2 and 3 seems to produce the same results.

Confirmed that these fixes should add python 3 support. Can we please check these into master and have a new package published to PyPy?

google-apputils users should migrate to absl-py:
https://github.com/abseil/abseil-py & https://pypi.python.org/pypi/absl-py/
It is the modern version of these libraries, officially supporting Python 3.
If it is missing anything (I've heard one call for appcommands), please file a feature request over there.


Feature request: fft support for complex128

Tensorflow fft only supports complex64 types at the moment. I have a physics application that could make great use of tensorflow's architecture, which is not machine learning related but needs greater precision.
Since pyculib supports complex128, it should be available from nvidia.
Is there support planned in the future?

@rmlarsen Is this on a roadmap of ours?

Nagging Assignee @jart: It has been 15 days with no activity and this issue has an assignee. Please update the label and/or status accordingly.

Assigning to @rmlarsen because fft support for complex128 sounds like something we should have.

I think complex128 for FFT  has been supported in 8f0a90b7114.

Nagging Assignee @rmlarsen: It has been 15 days with no activity and this issue has an assignee. Please update the label and/or status accordingly.

Nagging Assignee @rmlarsen: It has been 31 days with no activity and this issue has an assignee. Please update the label and/or status accordingly.

Nagging Assignee @rmlarsen: It has been 46 days with no activity and this issue has an assignee. Please update the label and/or status accordingly.

Nagging Assignee @rmlarsen: It has been 61 days with no activity and this issue has an assignee. Please update the label and/or status accordingly.

Nagging Assignee @rmlarsen: It has been 76 days with no activity and this issue has an assignee. Please update the label and/or status accordingly.

Nagging Assignee @rmlarsen: It has been 91 days with no activity and this issue has an assignee. Please update the label and/or status accordingly.

Nagging Assignee @rmlarsen: It has been 106 days with no activity and this issue has an assignee. Please update the label and/or status accordingly.

Nagging Assignee @rmlarsen: It has been 121 days with no activity and this issue has an assignee. Please update the label and/or status accordingly.

Nagging Assignee @rmlarsen: It has been 136 days with no activity and this issue has an assignee. Please update the label and/or status accordingly.

Nagging Assignee @rmlarsen: It has been 151 days with no activity and this issue has an assignee. Please update the label and/or status accordingly.

Closing since complex128 for fat has been added in 8f0a90b, but feel free to reopen if the issue still exists. Thanks for the contribution!

I'll test it at some point in the future, may take some time.
The documentation is a bit misleading:
tf.spectral.fft
input: A Tensor. Must be one of the following types: complex64, complex128. A complex64 tensor.
This is probably not intentional?


Something is wrong with Fuel Wallet.

What version of Wallet are you using?
Fuel Wallet
What is happening?
Hi, there!
after installing an extension to Google Crome I tried to get test tokens to the wallet.
The message Waiting until more tokens are available  appeared and is sill running.
I did it again many times without any success.

steps to reproduce
nothing to add
How it should behave?
nothing to add
What os are you seeing the problem on?
Mac/Apple Desktop
What browser?
Chrome
What is your browser version?
109.0.5414.119

@vadka65, thanks for the report. In the past weeks, our network was unstable, causing transactions to be very slow and not finishing the execution, and making things like the faucet unable to create TXs. This should be solved now, also the faucet was updated to improve the capacity making it faster to release coins. Please let me know if it worked for you now.

Hi, Luiz!Now everything is going well!Thank you!Vadim20 апр. 2023 г., в 00:37, Luiz Estácio | stacio.eth @.***> написал(а):
@vadka65, thanks for the report. In the past weeks, our network was unstable, causing transactions to be very slow and not finishing the execution, and making things like the faucet unable to create TXs. This should be solved now, also the faucet was updated to improve the capacity making it faster to release coins. Please let me know if it worked for you now.
—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you were mentioned.Message ID: @.***>


Improve Modelica.Blocks.Math.WrapAngle

Remove wrong drawing of Diagram View
Add option to wrap to positive angles only

Consequently, the models

Modelica.Electrical.Machines.Sensors.RotorDisplacementAngle
Modelica.Magnetic.QuasiStatic.FundamentalWave.Sensors.RotorDisplacementAngle

can be improved, too, as they are based on WrapAngle.


Current space record is unset after loadUserContent

The records returned from post("loadUserContent", {}) for me contain an empty dictionary for 'space', meaning list(records["space"].keys()) fails to execute with an IndexError. There is however a space_view dictionary which is filled.
When inspecting traffic on a page in the Notion web interface, both the space and space_view records are filled, with slightly different formatting but essentially the same overall information.
This might be due to the fact that I have several spaces, including one which is shared with me and one with a separate work email.

This could possibly be solved with this pull request
https://github.com/jamalex/notion-py/pull/218


Move CI to GitHub Actions

I planned to move the continuous integration to GitHub Actions at some point, but the recent changes to Travis CI mean that we will likely have to move sooner rather than later.

Forgot to mention it, but commit 1de7526fc01d0f173d18d0ea93f55af57b850d38 add a workflow for Ubuntu.

Forgot to mention it, but commit 1de7526fc01d0f173d18d0ea93f55af57b850d38 add a workflow for Ubuntu.

I got the following kinds of builds working:

Debug, Release
Ubuntu, MacOS, Windows
g++ (including MinGW-w64), clang++ (including AppleClang)
Valgrind, asan, ubsan
libstdc++ and libc++ (I think)

While a bit different from the old Travis CI builds, I believe that I cover an equivalent amount of possibilities. There main differences are as follows:

No Clang build older than Clang 6
GCC builds for MacOS
Asan and ubsan builds for MacOS
No Valgrind builds for MacOS

This is pretty satisfying as everything runs smoothly. There are a few additional steps before closing the issue:

[ ] Deactivate the Travis builds for cpp-sort
[ ] Remove .travis.yml
[ ] Remove the OSX suppression file since I don't have Valgrind build on MacOS anymore
[ ] Remove the mtime_cache_globs.txt file, not used anymore
[ ] Change the README to mention the new supported (as in tested) compilers
[ ] New README badges for the builds, move them to "Compiler support & tooling"
[ ] Re-enable ccache through actions/cache, I don't thin mtime_cache is needed as is anymore

I got the following kinds of builds working:

Debug, Release
Ubuntu, MacOS, Windows
g++ (including MinGW-w64), clang++ (including AppleClang)
Valgrind, asan, ubsan
libstdc++ and libc++ (I think)

While a bit different from the old Travis CI builds, I believe that I cover an equivalent amount of possibilities. There main differences are as follows:

No Clang build older than Clang 6
GCC builds for MacOS
Asan and ubsan builds for MacOS
No Valgrind builds for MacOS

This is pretty satisfying as everything runs smoothly. There are a few additional steps before closing the issue:

[ ] Deactivate the Travis builds for cpp-sort
[ ] Remove .travis.yml
[ ] Remove the OSX suppression file since I don't have Valgrind build on MacOS anymore
[ ] Remove the mtime_cache_globs.txt file, not used anymore
[ ] Change the README to mention the new supported (as in tested) compilers
[ ] New README badges for the builds, move them to "Compiler support & tooling"
[ ] Re-enable ccache through actions/cache, I don't thin mtime_cache is needed as is anymore

Commits 2cc9016a0830f70906b98ee194514ce75176dc89 and 13157e2aa1fccc43d5eb0e7dffd40f431de64b71 simplify the MacOS and Ubuntu build matrices respectively, making them more understandable, less redundant, and easier to maintain.

Commits 2cc9016a0830f70906b98ee194514ce75176dc89 and 13157e2aa1fccc43d5eb0e7dffd40f431de64b71 simplify the MacOS and Ubuntu build matrices respectively, making them more understandable, less redundant, and easier to maintain.

actions/cache@v2 has some significant drawbacks so far:

No way to clean the cache through the UI
Rather verbose
Doesn't play well with ccache so far, it still lacks critical features for that

Considering that the build times are currently decent even with a full rebuild, I consider that making the workflows more complicated is not worth my time. I might give it another try in the future once features and usages have evolved, but currently it's got more cons than pros.
As such, I consider that this issue is in a good enough state for now, and ready to ship.

actions/cache@v2 has some significant drawbacks so far:

No way to clean the cache through the UI
Rather verbose
Doesn't play well with ccache so far, it still lacks critical features for that

Considering that the build times are currently decent even with a full rebuild, I consider that making the workflows more complicated is not worth my time. I might give it another try in the future once features and usages have evolved, but currently it's got more cons than pros.
As such, I consider that this issue is in a good enough state for now, and ready to ship.


You need Companion 3.2 Beta

Looks like you've solved the problem.I will close this issue in a week.


Create and use CoerceGeneric instead of relying on one-off logic

Summary: Unifies the logic within coerce_all for resolving coercion
types after the arguments are known with the existing system for
generics.

Current dependencies on/for this PR:

main

PR #49   👈

PR #50

This comment was auto-generated by Graphite.


Build and publish documentation in pull requests

What was I doing here... hmm.

@charliermarsh we should do this but the preview is not viewable e.g. https://c271a6b9.astral-docs-6sp.pages.dev/
Do you remember what we need to do to make this work?


[CDC|VerixCDC] Simple and efficient script to resolve unnecessary async_fifo errors reported by VerixCDC

Two fixes

Simple and efficient script to resolve unnecessary async_fifo errors reported by VerixCDC

This script is recommended by RI
We don't need to use multiple cdc_ignore commands to cover all various paths
Result is the same as existing one which came from manual multiple cdc_ignore commands

Stopping propagation option 2 of AST_CLK_EXT as discussed in #16897

Signed-off-by: Joshua Park<EMAIL_ADDRESS>

@jeoongp can you squash the two commits into one?


Moving internal structs into core directory

This is a change to the organization of the internal modules and structs. It unifies all of the structs that make up Norm's AST into a core directory. I'm unifying things in this way to avoid the overloading of terms that was happening before. This should make it easier for other folks to work on Norm and understand where pieces are located.

ugh, my "review" would have been so much more convenient with https://twitter.com/github/status/1232734207853522949 :)


Improving authentication with hardware keys / FIDO2 / webauthn + 2FA

The Problem

[ ] Adding a FIDO2 hardware key effectively / implicitly enables 2FA, but without providing a backup mechanism as with TOTP 2FA. This is potentially dangerous.
[ ] It can be argued that webauthn is supposed to be passwordless auth, enabling 2FA should be a separate choice, and that mandatory TOTP 2FA is reducing security instead of increasing it due to phishing/MITM risk.

#17495
https://github.com/mastodon/mastodon/issues/16693

[ ] The security settings page misleadingly  implies 2FA is not enabled, while it effectively is:

Possbile Solutions
(1) The Very Simple Fix
Revert #11573, but otherwise leave the auth conditions as they are. Fixes the UI inconsistency and the no-backup code situation, implements github's authentication logic, but does not enable passwordless login and makes phishable credentials mandatory.
(2) The Somewhat Simple Fix

Refactor the web UI: hardware key UI is moved to into the 2FA UI panel, so it's clear that they are not for passwordless auth.
Require either >=2 fido keys, or generate backup keys, when registering the first fido key. The login flow might also need changes to accept backup codes when no TOTP is registered.

This mostly keeps the current auth logic, except for requiring a backup second factor to be set up:
username && pw && (totp || fidokey1 || fidokey2 || backupcodes)

This auth logic does not require phishable credentials.
(3) The Correct Solution
The most correct way imho would be to implement the auth logic that is outlined below as Nextcloud's implementation.
Effectively the needed changes would be:

allow registering hardware keys as primary or secondary factor
migrate existing hardware keys to secondary factor keys
change auth logic of primary factor keys to actually be replacements for password auth

This would result in the following auth logic:
username && (pw || fidokey1 || fidokey2) && (totp || fidokey3 || backupcodes)

Of course not all of those credentials need to be used, all but one from each block could be unavailable/unknown. This option has the benefit to get along without mandatory phishable credentials (password, TOTP), as well as enabling passwordless auth.

Context
Gitea's current (as of 1.18.0+dev-558-g94d6d93cc, 94d6d93cc) authentication behaviour is as follows:

context
auth requirements

default
username && pw

TOTP 2FA enabled
username && pw && (totp || backupkeys)

(multiple) fido2 keys registered
username && pw && (fidokey1 || fidokey2)

TOTP 2FA enabled & fido2 keys registered
username && pw && (fidokey1 || fidokey2 || totp || backupcodes)

For reference some other implementations of FIDO2:

implementation
context
auth requirements

github, mastodon
default
username && pw && emailed-token

TOTP 2FA enabled
username && pw && (totp || backupkeys)

(multiple) fido2 keys registered
case not allowed, must enable 2FA

TOTP 2FA enabled & fido2 keys registered
username && pw && (fidokey1 || fidokey2 || totp || backupcodes)

nextcloud
default
username && pw

TOTP 2FA enabled
username && pw && (totp || backupkeys)

(multiple) fido2 keys registered
username && (pw || fidokey1 || fidokey2)

TOTP 2FA enabled & fido2 keys registered
username && (pw || fidokey1 || fidokey2) && (totp || backupcodes)

As you can see, there is no clear correct de-facto implementation, I have yet to check fido2/webauthn spec if there is a correct approved way of implementing things. However there is a strong preference in the wider community on how to do things correctly with security and usability in mind:

on mastodon: https://github.com/mastodon/mastodon/issues/16693
earlier on gitea: https://github.com/go-gitea/gitea/issues/5410
on gitlab: https://gitlab.com/gitlab-org/gitlab-foss/-/issues/48918

some SEO optimization: webauthn u2f security key 2fa totp fido fido2

I would like the first implementation(github, mastodon), nextcloud's looks like a 3FA when TOTP 2FA enabled & fido2 keys registered

nextcloud's looks like a 3FA when TOTP 2FA enabled & fido2 keys registered

If you look closely, you see that it's still 2FA: username && (pw || fidokey1 || fidokey2) && (totp || backupcodes).
The decision here is how much effort the gitea project is willing to put into changing this auth logic, with the possible gain of having an unphishable authentication method.
That said, I don't think touching this is urgent, as there is no acute security issue with the current way this auth is handled, the UI is just misleading currently. So it may be beneficial to wait and do this properly once the resources or priority for it are there.

Was about to create a dedicated issue, but found this one, when searching for existing ones, so I'll add another improvement.
If you need a separate issue out of this, I'll make one.
Gitea's WebAuthn does not save the domain string.
Information about the topic follows.

https://stackoverflow.com/q/55090589
https://stackoverflow.com/a/66267730
https://developer.mozilla.org/en-US/docs/Web/API/CredentialsContainer/get

Gitea's auth has a more complex situation. Some users wants to login with a third auth server i.e. OAuth2 . I think we need to put all these situations together when refactoring/redesigning.

I would like to catch up on the statement of the beginning of this issue:

It can be argued that webauthn is supposed to be passwordless auth, enabling 2FA should be a separate choice, and that mandatory TOTP 2FA is reducing security instead of increasing it due to phishing/MITM risk.

Webauthn was designed as a generic, phishing proof protocol and therefore can be used for passwordless authentication. It brings it's own function of a 2nd factor (where you can use a 2F to access your local public key) but is also downward compatible as a 2F with U2F. That's a bit confusing. Because the domain is (as the relying party RP) fundamental part of the authentication process in webauthn, there is a drastically reduced attack vector for phishing in webauthn compared to U2F, because you just cannot use your credentials on a different site, without tampering your local machine.
When it comes to the implementation, then you actually do not use (or strictly saying, you do not have to use) a username anymore, because you are working with a publickey authentication approach.
So I totally agree with what @lunny said, that

I think we need to put all these situations together when refactoring/redesigning.

because there would be actually a pool of equal authentication methods/backends, every with their own set of credentials:

classic username + password [+ 2FA]
publickey authentication (using Webauthn+FIDO2 / Passkeys)
API authentication (like OAuth or OpenID Connect)

This is indeed a lot of effort to implement. However, considering the move of bigtechs towards Passkeys and being already available on most platforms, this is worth the discussion and integration. Github just announced few days ago, that they now support passkey authentification as well. Paypal, Google, Apple are alreading doing it.
My point is, when tackling the described issues, I would suggest to refactor it in a way that the whole picture is considered as it is discussed in #24821. I think this will give more momentum. A first approach can be hanko.io.


Add support for org links.

This is based on #34 but also stores all the related entry metadata, so they can be used in capture templates.
Also adds support for org mode 9+ which uses different link syntax/functions.
For use in templates, you can use all the metadata under :elfeed-entry- namespace, for example
("l" "Read later" entry (file "~/org/refile.org")
         "* %?%:description :readlater:
- %:link
%(when (< 0 (length \"%:elfeed-entry-link\")) (concat \"- web link: \" \"%:elfeed-entry-link\"))")

Hm, there seem to be a PR already opened for this (#128) but it seems there are conflicts and it's 2 years old, so probably abandoned? Also, doesn't work on org-mode 9 which is the "standard" these days.

Hi,
i modified the code from #128 to work with org-mode 9.
My org-capture template looks like this:
  (setq org-capture-templates
            '(("e" "elfeed note" entry
               (file+headline "~/org/elfeed.org" "Notes")
               "* [[elfeed: %:url][%:description]]\n:PROPERTIES:\n:CREATED: %U\n:END:\n\n%?")
              ))

 ;;; elfeed-link.el --- Links to elfeed search and entry buffers, plus capturing for Org mode -*- lexical-binding: t; -*-
 ;;
 ;; This is free and unencumbered software released into the public domain.
 ;;
 ;;; Code:

 (require 'org)
 (require 'elfeed)
 (require 'elfeed-db)
 (require 'elfeed-show)
 (require 'elfeed-search)

 ;;;###autoload
 (defun elfeed-link-store ()
   "Store an Org link to the current elfeed search or entry buffer.

 If point is on an http-style url in an entry buffer then that url
 becomes the link for `org-store-link', otherwise it is an
 'elfeed:...' url which is handled by `elfeed'.

 Special properties stored about entries which can be used by
 `org-capture' templates:

 %:url                     The http url of the entry
 %:enclosure-url           The http url of the first enclosure, if present
 %:feed-url                The http url to the html list of entries
 %:feed-title              The title of the feed
 %:description             The elfeed entry title
 %:feed-author             The author of the feed
 %:date-timestamp          The date the entry was published as an active Org date-time
 %:date-timestamp-inactive The date the entry was published as an inactive Org date-time
 %:tags                    The tags applied to the entry in Org 'tag1:tag2' format
 "
   (require 'org)
   (cond ((eq major-mode 'elfeed-search-mode)
          (org-store-link-props
           :type "elfeed"
           :link (format "elfeed:%s" elfeed-search-filter)
           :description elfeed-search-filter))
         ((eq major-mode 'elfeed-show-mode)
          (let* ((entry elfeed-show-entry)
                 (id (elfeed-entry-id entry))
                ; (link (format "elfeed:%s#%s" (car id) (cdr id)))
                ; Go to elfeed artikel, Store link with C-c l
                ; paste link with C-c C-l
                ; link will look like this:
                ; [[elfeed:de.wikipedia.org#https://de.wikipedia.org/wiki/Spezial:Feedobjekt/featured/20170314000000/de][Am 14. März auf Wikipedia exzellenter Artikel]]
                ; C-c C-o and elfeed will not find the articel becayse of 'de.wikipedia.org#'
                ; so lets ignore this part
                 (link (format "elfeed:%s" (cdr id)))
                 ; tada, link looks correct now:
                 ; [[elfeed:https://de.wikipedia.org/wiki/Spezial:Feedobjekt/featured/20170314000000/de][Am 14. März auf Wikipedia exzellenter Artikel]]
                 (thing-url (get-text-property (point) 'shr-url))
                 (thing-type (and thing-url
                                  (url-type (url-generic-parse-url thing-url)))))
            (if thing-type
                (org-store-link-props
                 :type thing-type
                 :link thing-url)
              (org-store-link-props
               :type "elfeed"
               :link link))
            (org-add-link-props
             :feed-url (elfeed-feed-url (elfeed-entry-feed entry))
             :feed-title (elfeed-feed-title (elfeed-entry-feed entry))
             :feed-author (elfeed-feed-author (elfeed-entry-feed entry))
             :url (elfeed-entry-link entry)
             :description (elfeed-entry-title entry)
             :date-timestamp (format-time-string
                              (org-time-stamp-format t)
                              (seconds-to-time (elfeed-entry-date entry)))
             :date-timestamp-inactive (format-time-string
                                       (org-time-stamp-format t t)
                                       (seconds-to-time (elfeed-entry-date entry)))
             :tags (mapconcat (lambda (s)
                                (let ((tag (symbol-name s)))
                                  (substring-no-properties tag 0 (length tag))))
                              (elfeed-entry-tags entry) ":")
             :enclosure-url (caar (elfeed-entry-enclosures entry))))
          t)))

 (defun elfeed-link-filter-or-id (filter-or-id)
   "Parse the two kinds of links: search filter and entry id.
 Entry IDs consist of the feed url and the entry id separated by
 `#'. Everything else is a search filter."
   (if (string-match "\\(\\(?:file\\|https?\\)://[^#]+\\)#\\(.+\\)" filter-or-id)
       (cons (match-string 1 filter-or-id)
             (match-string 2 filter-or-id))
     filter-or-id))

 ;;;###autoload
 (defun elfeed-link-open (path)
   "Jump to an elfeed entry or search."
   (let ((filter-or-id (elfeed-link-filter-or-id path)))
     (if (consp filter-or-id)
         (elfeed-show-entry (elfeed-db-get-entry filter-or-id))
       (switch-to-buffer (elfeed-search-buffer))
       (unless (eq major-mode 'elfeed-search-mode)
         (elfeed-search-mode))
       (elfeed-search-set-filter filter-or-id))))

 ;;;###autoload
 (defun elfeed-link-export (path desc format)
   "Create the HTML export version of an ELFEED link specified by
 PATH or DESC. Links for other export formats are handled in the
 default Org way."
   (let* ((filter-or-id (elfeed-link-filter-or-id path))
          (entry (when (consp filter-or-id)
                   (elfeed-db-get-entry filter-or-id)))
          (url (when entry
                 (or (elfeed-entry-link entry)
                     (elfeed-feed-url (elfeed-entry-feed entry))))))
     (if (eq format 'html)
         (if entry
             (format "%s"
                     (org-html-encode-plain-text url)
                     (org-html-encode-plain-text desc))
           (format "%s"
                   (org-html-encode-plain-text desc)))
       desc)))

  ;;;###autoload
 ; (with-eval-after-load 'org
 ;   (org-add-link-type "elfeed" #'elfeed-link-open #'elfeed-link-export)
 ;   (add-hook 'org-store-link-functions #'elfeed-link-store))

 ; since org 9.0 we use this:
 (org-link-set-parameters
      "elfeed"
      :follow 'elfeed-link-open
      :export 'elfeed-link-export
      :store 'elfeed-link-store)

 (provide 'elfeed-link)

 ;;; elfeed-link.el ends here

The difficulty with these Org pull requests is that I don't use Org and I'm unfamiliar with how it's used. I don't really have the context I need make a decision about merging, so they just languish. That's why elfeed-org is a separate package, maintained by @remyhonig who (I presume) knows this stuff.

@skeeto The problem is that elfeed-org is not an integration for elfeed into org but some sort of hack to configure elfeed with org.  So basically nothing else fits into that package.
You can think of org files as glorified markdown.  Instead of just normal links (to websites), it supports links to email (gnus), files, bibtex, irc, bookmarks, git commits, search strings, direds, grep result sets and many more things.  Basically a link provites a syntax to store "something" which when run provides the desired outcome.
So when I create such a link in my notes file which points to a mail or an elfeed entry, I can just click on it (or C-c C-o) to follow and it opens the target buffer in the appropriate mode.  This is useful if you create TODO lists to entries you want to review/read later, for example (yes, I could tag them in elfeed, but I like to have one workflow for all the "consumable" media: email, feeds, youtube...)
Elfeed already provides integration with bookmarks, which is in principle very similar, org links are just textual representation for the same concept.

I vote for it.

Alright, this seem simple enough, so I merged it. The header says to (require 'elfeed-link), but in the typical case the eval-after-load autoload should cover this, right? I definitely like the idea of not automatically loading Org alongside Elfeed unless the user explicitly asks for it.

@skeeto Provided this is installed via something that loads the generated autoloads, yes it will work as you describe.  If you git clone and do nothing, then you would need to add the require.

In Elfeed 2.1.1 in Emacs 25.1.1 (x86_64_w64-mingw32), whenever I try to use any property in a capture template in Org-Mode (9.0.7) they are empty. Any idea why this is?
Have tried all properties with the syntax specified above, in elfeed-link.el, and in org-capture-templates documentation:
"%:elfeed-entry-id
%:elfeed-entry-title
%:elfeed-entry-link
%:elfeed-entry-date
%:elfeed-entry-content
%:elfeed-entry-content-type
%:elfeed-entry-enclosures
%:elfeed-entry-tags
%:elfeed-entry-feed-id
%:elfeed-entry-meta"

Thanks!

I have elfeed 2.1.1 on Emacs 24.5 and org 9.0.7 and it works fine.  Can you show the entire template?  Sometimes you need to quote the arguments inside the templates (when org isn't smart enough).

Sure!
  (setq org-capture-templates '(     ("r" "Read Later" entry      (file+headline "" "Action Inbox")      "* %a %:elfeed-entry-id %:elfeed-entry-title %:elfeed-entry-link %:elfeed-entry-date %:elfeed-entry-content %:elfeed-entry-content-type %:elfeed-entry-enclosures %:elfeed-entry-tags %:elfeed-entry-feed-id %:elfeed-entry-meta"      :empty-lines 1)))
This just generates a headline with the link as text, no text below it corresponding to the properties. I just removed my other (many and long) templates that work fine. This one is of course only for testing purposes.
Thank you!

I'm not sure what is going on to be honest.  If you know how the elisp debugger works maybe you can step through elfeed-link-store-link and see where the problem is.
The properties are only stored when you capture from the "show" mode (viewing an entry) not from the search.  Are you doing that?


Update changelog for release v2023.06.28

Please let me know of any important changes that you want to make visible by adding to the Change log.

I think the last 2 points @tpasternak mentioned are related to query-sync. So we may need to highlight that.

Closing it and opening for v2023.07.04.


Add our own layout

deinstall doesn't work.
root@dubstep:~/ds-base # make deinstall
cd scripts && ./clean.sh
cd scripts && ./deinstall.sh
[: missing ]

make clean worked
make deinstall doesn't work. Output below
root@dubstep:~/ds-base # make deinstall
cd scripts && ./clean.sh
cd scripts && ./deinstall.sh
[: missing ]

Ah thanks good catch.  I will fix here momentarily.