bpf: run kernel's checkpatch.pl locally and as GitHub action, fix style

Follow-up from RFC #11033.
Although there is no explicit coding style for the BPF code, several developers tend to follow the kernel coding style conventions. To try and maintain a consistent style all over the code, this PR adds kernel's checkpatch.pl to the list of checks performed on the source as part as BPF's make check.
Some details on the check:

We only run checkpatch.pl on the bpf/ directory.

A new checkpatch BPF make target is created, and added as a dependency to check.

However, we only run it on the latest changes by default, meaning the changes since newest Git parent reference plus the changes returned by git diff HEAD.

For manual checks, the bash script used to launch checkpatch has an option to run the checks on all the bpf/ source code, independently of the Git history.

GitHub action runs checkpatch.pl on all commits from the PR. There is no mechanism to bypass checkpatch errors, Janitors will have to decide if issues reported by checkpatch should be ignored.

The checkpatch.pl and spelling.txt files (both under GPLv2) are directly copied from the kernel repository, as per commit f436a58e2619 ("checkpatch: fix CONST_STRUCT when const_structs.checkpatch is missing") (in linux-next as of the creation of this patch). File deprecated_terms.txt is created from this PR, and populated in prevision of the changes proposed for the terminology. The script checkpatch.sh (bash script) launches checkpatch.pl with the relevant arguments and options. COPYING file is copied from bpf/COPYING, to make sure people get a version of the license boilerplate with the checkpatch code.

The PR also contains commits to fix a number of style errors and warnings reported by checkpatch.pl. See individual commit logs for details.
I believe fixing them improve code style consistency and readability, but it may complicate backports (although conflicts should be trivial to fix), so as always feedback is welcome.

BACKPORTS: We want to backport the bpf/ changes (first 4 patches) to avoid conflicts with future backports. However it may not be suitable to backport the new GH action, so last commit (build: run checkpatch.pl for bpf/ locally or as GitHub action) should be left out.

Coverage increased (+0.04%) to 36.98% when pulling 6428f05386722d558e86ffa9f4d29ee21cb5a7ba on qmonnet:pr/qmonnet/checkpatch_bpf into 02b43fc85e602bceac61914d7117281768a5f079 on cilium:master.

test-me-please

is there any benefit in applying all these style changes now? Couldn't we just way for peeps to modify the faulty lines, at which point checkpatch.pl will complain and the lines will be fixed?

I know it's an intrusive change regarding backports/git history. My opinion is that code will look cleaner and more consistent so a bit easier to read/maintain. Keep in mind that most changes are chunks of only one or two lines, so it should be rather discreet in a git blame. Also it's very small/simple changes, so there may be conflicts for backports, but they should be trivial to solve.
This being said, if the consensus is that we don't want those changes, I can also drop these two patches and we can wait for the lines to be touched again to have the style fixed.

test-me-please

retest-net-next

is there any benefit in applying all these style changes now? Couldn't we just way for peeps to modify the faulty lines, at which point checkpatch.pl will complain and the lines will be fixed?

I know it's an intrusive change regarding backports/git history. My opinion is that code will look cleaner and more consistent so a bit easier to read/maintain. Keep in mind that most changes are chunks of only one or two lines, so it should be rather discreet in a git blame. Also it's very small/simple changes, so there may be conflicts for backports, but they should be trivial to solve.
This being said, if the consensus is that we don't want those changes, I can also drop these two patches and we can wait for the lines to be touched again to have the style fixed.

I would vote for getting the BPF C code changes merged since i) Quentin already did the work and the code looks better indeed, and ii) it's not like we didn't do intrusive changes to the entire code case before in 1.8. Perhaps it even makes sense to get these backported for 1.8.1 to avoid future merge conflicts. I'd also like if we fix the BLOCK_COMMENT_STYLE one at some point to get consistency in there, but can be follow-up.

test-me-please

No problem for fixing BLOCK_COMMENT_STYLE, but yeah, I'll keep it for a follow-up PR. Sounds good for backports too, I can help with it if necessary.

test-me-please

Rebased on top of complexity changes, plus improved bash script and fixed additional warnings (see the two new patches).
Incremental diff for checkpatch.sh
diff --git a/contrib/checkpatch/checkpatch.sh b/contrib/checkpatch/checkpatch.sh
index a0d662d5f347..121917b51626 100755
--- a/contrib/checkpatch/checkpatch.sh
+++ b/contrib/checkpatch/checkpatch.sh
@@ -1,24 +1,42 @@
 #!/bin/bash

+# Default options for checkpatch
 options="--no-tree --strict --no-summary --show-types --color=always"
-ignores=" \
-    --ignore COMPLEX_MACRO \
-    --ignore MULTISTATEMENT_MACRO_USE_DO_WHILE \
-    \
-    --ignore BLOCK_COMMENT_STYLE \
-    --ignore CONSTANT_CONVERSION \
-    --ignore CONST_STRUCT \
-    --ignore EMAIL_SUBJECT \
-    --ignore JIFFIES_COMPARISON \
-    --ignore LEADING_SPACE \
-    --ignore MACRO_WITH_FLOW_CONTROL \
-    --ignore PRINTK_WITHOUT_KERN_LEVEL \
-    --ignore TRAILING_SEMICOLON \
-    --ignore TRAILING_STATEMENTS \
-    --ignore VOLATILE \
-    \
-    --ignore LONG_LINE_COMMENT \
-"
+
+# Report types to ignore
+ignore_list=(
+    # Errors
+    COMPLEX_MACRO
+    MULTISTATEMENT_MACRO_USE_DO_WHILE
+    # Warnings
+    CONSTANT_CONVERSION
+    CONST_STRUCT
+    EMAIL_SUBJECT
+    JIFFIES_COMPARISON
+    LEADING_SPACE
+    MACRO_WITH_FLOW_CONTROL
+    PRINTK_WITHOUT_KERN_LEVEL
+    TRAILING_SEMICOLON
+    TRAILING_STATEMENTS
+    VOLATILE
+    # Checks
+    LONG_LINE_COMMENT
+)
+ignores="--ignore $(IFS=,; echo "${ignore_list[*]}")"
+
+# Report types that checkpatch downgrades from warning to checks for --file
+type_list=(
+    AVOID_BUG
+    FSF_MAILING_ADDRESS
+    LONG_LINE
+    LONG_LINE_COMMENT
+    #LONG_LINE_STRING   # Not desired
+    #PREFER_FALLTHROUGH # fallthrough; not implemented
+    SPDX_LICENSE_TAG
+    TYPO_SPELLING
+)
+types="--types $(IFS=,; echo "${type_list[*]}")"
+
 script_dir="$(dirname $(realpath $0))"
 checkpatch="$script_dir/checkpatch.pl"

@@ -48,6 +66,10 @@ check_cmd() {

 update_sources() {
     sources=$(find bpf -name "*.[ch]" ! -path "bpf/include/elf/*" ! -path "bpf/include/linux/*")
+    if [ -z "$sources" ]; then
+        echo "Please run this script from the root of Cilium's repository."
+        exit 1
+    fi
 }

 check_commit() {
@@ -61,6 +83,7 @@ check_commit() {
 }

 all_code=0
+indulgent=0
 OPTIND=1
 while getopts "haiq" opt; do
     case "$opt" in
@@ -71,6 +94,7 @@ while getopts "haiq" opt; do
         all_code=1
         ;;
     i)
+        indulgent=1
         options="${options/--strict /}"
         ;;
     q)
@@ -84,9 +108,17 @@ shift $((OPTIND-1))
 # If -a option provided, simply run checkpatch on all *.c *.h code and exit
 if [ $all_code -eq 1 ]; then
     update_sources
+    echo -e "${HL_START}Checking files:$HL_END $(echo $sources | tr '\n' ' ')"
     ret=0
     $checkpatch $options $ignores -f $sources || ret=1
-    exit ret
+    if [ $indulgent -eq 1 ]; then
+        echo -e "${HL_START}Second run, to report 'checks' that should normally be 'warnings'...$HL_END"
+        # Re-run to cover types downgraded to checks by checkpatch when running
+        # on files, to be on par with what we do for commits.
+        $checkpatch $options --strict $types -f $sources || ret=1
+    fi
+    echo -e "${HL_START}All done$HL_END"
+    exit $ret
 fi

 check_cmd git jq
@@ -103,7 +135,7 @@ if [ -n "$GITHUB_REF" ]; then
 else
     # Running locally
     # We'll run checkpatch on each commit since newest parent ref
-    parent_ref=$(git log --simplify-by-decoration --pretty=format:'%D' -n 2 | sed -n '2{s/,.*//;p}')
+    parent_ref=$(git log --simplify-by-decoration --pretty=format:'%D' -n 2 | sed -n '2{s/,.*//;s/^tag: //;p}')
     list_commits=$(git log --pretty=format:"%H %s" $parent_ref.. | awk '
         BEGIN {print "["}
         {

Shouldn't the GH action pass?

Checkpatch is not perfect and may raise false positives. In the case of this PR, we have:

Some patches that touch lines without fixing all their format issues because some are fixed in a following patch (For example first patch fixes errors but leaves out warnings, which are fixed in the second patch). Because checkpatch.pl is run on each individual commits, it complains about those remaining warning-level issues in the first patch.
Some patches touch lines that have other format issues I didn't want to fix in this series (e.g. camel case on dstID, should ideally be renamed dst_id or something like that), or that we don't want to fix at all (false positive with MACRO_ARG_PRECEDENCE, or SPACING errors where fields are aligned on several lines on purpose for example).

Short version: No, the GH action is not expected to pass for this PR. Plus it allows reviewers to see what the output is like :).
[Marking as depending on upstream because I sent a patch upstream to avoid having to create this empty const_structs.checkpatch file.]

So my patch for checkpatch got merged into linux-next, so we don't have to keep an empty const_struct.checkpatch file anymore. Well in the meantime they added another file for “deprecated terms” (i.e. transitioning from loaded terminology), but I think that's a good opportunity to prevent re-introducing loaded terms that we are currently trying to remove.
The latest push has the updated checkpatch.pl from linux-next, and a short list of deprecated terms. Updates to bpf/ code have been rebased.
The PR is ready for review. I do not expect the related GH action to pass on this PR, for the reasons mentioned in my previous comment.

test-me-please

test-me-please

No problem for fixing BLOCK_COMMENT_STYLE. Sounds good for backports too, I can help with it if necessary.

Yeah, please do, so we can also integrate for 1.8.1. Thanks!

No problem for fixing BLOCK_COMMENT_STYLE. Sounds good for backports too, I can help with it if necessary.

Yeah, please do, so we can also integrate for 1.8.1. Thanks!

@borkmann I did it since we spoke of it, see relevant commit in the PR. With the minor limitation that I couldn't find a way to enforce consistent marking on start of blocks (so both net/-style and rest-of-kernel-style are valid in the eyes of checkpatch, see details in commit log).

No problem for fixing BLOCK_COMMENT_STYLE. Sounds good for backports too, I can help with it if necessary.

Yeah, please do, so we can also integrate for 1.8.1. Thanks!

@borkmann I did it since we spoke of it, see relevant commit in the PR. With the minor limitation that I couldn't find a way to enforce consistent marking on start of blocks (so both net/-style and rest-of-kernel-style are valid in the eyes of checkpatch, see details in commit log).

Good point, I looked only at 'Files changed', not the individual commits. What I meant above was whether checkpatch could also warn on C++ style comments (starting with //) so we can convert them over to block style and make it uniform?

@qmonnet thanks for doing this! I wonder if the perl script itself needs to be checked in the repo at all, perhaps it could be a one of image-tools container images?

I wonder if the perl script itself needs to be checked in the repo at all, perhaps it could be packaged as a container image in cilium/image-tools?

It could, but I'm not sure this is the best thing to do. The script might get some “breaking” changes (such as trying to read a new file, like it just did for the “deprecated terms”: If the file is not found it errors out, which would make the GH action fail). So I'd rather keep the updates manual so we can check there is no bad surprise. Plus it's about formatting anyway, so not a big deal if we don't get the “latest features” from the script.

It could, but I'm not sure this is the best thing to do. The script might get some “breaking” changes (such as trying to read a new file, like it just did for the “deprecated terms”: If the file is not found it errors out, which would make the GH action fail). So I'd rather keep the updates manual so we can check there is no bad surprise. Plus it's about formatting anyway, so not a big deal if we don't get the “latest features” from the script.

@qmonnet I wasn't suggesting that, I was suggesting that instead of having the script checked in, it'd be better to package it inside an image, and no need to pollute this repo with a huge script that is not written in any of the language that are common to the project and is under GPL (not APL).
So instead of checking the script it here, it would a concern of the image-tools repo to either download on image build, or have it checked in (if really needed). But it certain won't be downloaded at runtime.
And in this repo (and possibly other repos), it could be consumed like this:
      - uses: actions/checkout@v1
      - uses: docker://docker.io/cilium/checkpatch:3e2ea4f151593908c362307a1de22e68610d955c
        name: Run checkpatch.pl

And in a makefile:
checkpatch:
	@$(ECHO_CHECK) "(checkpatch)"
	$(QUIET) docker run <args> docker.io/cilium/checkpatch:3e2ea4f151593908c362307a1de22e68610d955c

So instead of being part of a source tree, it would be a packaged tool basically.

@errordeveloper Oh, I had missed your point indeed. Hmm. Yeah, I think this is a good idea. Thanks!
Given that the current version is more or less ready and that the PR has to be rebased often, I will implement your suggestion in a follow-up, if you don't mind.

PR rebased on top of @pchaigno's changes.

Good point, I looked only at 'Files changed', not the individual commits. What I meant above was whether checkpatch could also warn on C++ style comments (starting with //) so we can convert them over to block style and make it uniform?

@borkmann Right, I missed those. This is because checkpatch tolerates them by default, you have to pass it an --ignore option to actually activate those reports. Such a good idea, oh well. So anyway, I now added a commit to deal with //  comments and turn them into regular /* ... */ blocks. One drawback: checkpatch.pl also reports the // SPDX-License-Identifer tags in .c files as infringing the rule (but I left them untouched). Probably worth another patch upstream when I have some time.

Not sure if we want to leave a note somewhere in the tree where checkpatch came from / how to update it

@joestringer Good idea, I left a comment with the URL to checkpatch.pl (from git repo at kernel.org) in the bash script.

test-me-please

retest-net-next

I will implement your suggestion in a follow-up, if you don't mind.

@qmonnet of course! Hit me up when you find the time to do it :)

PR rebased on top of @pchaigno's changes.

Good point, I looked only at 'Files changed', not the individual commits. What I meant above was whether checkpatch could also warn on C++ style comments (starting with //) so we can convert them over to block style and make it uniform?

@borkmann Right, I missed those. This is because checkpatch tolerates them by default, you have to pass it an --ignore option to actually activate those reports. Such a good idea, oh well. So anyway, I now added a commit to deal with //  comments and turn them into regular /* ... */ blocks. One drawback: checkpatch.pl also reports the // SPDX-License-Identifer tags in .c files as infringing the rule (but I left them untouched). Probably worth another patch upstream when I have some time.

Cool, thanks for fixing these up as well! Yeah SPDX need to be left untouched. Probably indeed worth to fix upstream so we have no errors on them.

Cool, thanks for fixing these up as well! Yeah SPDX need to be left untouched. Probably indeed worth to fix upstream so we have no errors on them.

@borkmann I sent a patch but it will probably not make it, Joe P. doesn't think this is a useful addition :( https://lore.kernel.org/patchwork/patch/1265784/#1461076


Set back concurrency to 4 in .pa11yci.json

pa11y CI was not stable so we set concurrency to 1 in .pa11yci.json via https://github.com/Orange-OpenSource/Orange-Boosted-Bootstrap/pull/761.
With this value, the execution is really slow but works "better" (1/4 of executions are green...).

[ ] After each bump of a new version of pa11y-ci dev dependency, try to set back the concurrency to 4.
[ ] Check https://github.com/twbs/bootstrap/pull/29315 from time to time.

It is maybe related to:

https://github.com/pa11y/pa11y-ci/issues/128
https://github.com/pa11y/pa11y/issues/570

On hold. We wait to see if it is better after https://github.com/Orange-OpenSource/Orange-Boosted-Bootstrap/pull/924.

For what I'se seen, this doesn't change anything with<EMAIL_ADDRESS>Is this issue still a thing ?


Add support for SQLite

I see that fang uses traits to implement AsyncQueueable. It would be great is SQLite is supported as it allows to build applications that just works without additional installation and configuration and they can always upgrade to better postgres support if needed.

We're planning to implement retries first, and then we will try to prioritize sqlite.
Thank you for your feedback.

@pxp9 Hi! I would like to ask when it will be possible to support SQLite after two months. Is there any progress that can be known?

We will try to implement it as soon as possible. I am currently studying and @ayrat555 is working on his job. We only are 2 maintainers in the project so it is hard to do this.

@pxp9 Hi! I would like to ask when it will be possible to support SQLite after two months. Is there any progress that can be known?

@skirodev do not worry because it will be done, probably will be done in Xmas holidays.

@pxp9 Anything I can do to help?

@IgnisDa hey. it's almost done. but if you want to contribute, you can try to look into surrealdb - in-memory db


failed to build puckel/docker-airflow

Hi,
when trying to build puckel/docker-airflow i got this error: Cython.Compiler.Errors.InternalError: Internal compiler error: 'algos_common_helper.pxi' not found
More logs:
Downloading/unpacking pandas<1.0.0,>=0.15.2 (from airflow[celery,hdfs,hive,postgres]==<IP_ADDRESS>)
Running setup.py (path:/tmp/pip-build-fReTFb/pandas/setup.py) egg_info for package pandas
package init file 'pandas/io/tests/sas/__init__.py' not found (or not a regular file)
pandas/index.pyx: cannot find cimported module 'datetime'
pandas/index.pyx: cannot find cimported module 'util'
./pandas/hashtable.pxd: cannot find cimported module 'khash'
Traceback (most recent call last):
  File "<string>", line 17, in <module>
  File "/tmp/pip-build-fReTFb/pandas/setup.py", line 680, in <module>
    **setuptools_kwargs)
  File "/usr/lib/python2.7/distutils/core.py", line 151, in setup
    dist.run_commands()
  File "/usr/lib/python2.7/distutils/dist.py", line 953, in run_commands
    self.run_command(cmd)
  File "/usr/lib/python2.7/distutils/dist.py", line 972, in run_command
    cmd_obj.run()
  File "<string>", line 15, in replacement_run
  File "/usr/local/lib/python2.7/dist-packages/setuptools/command/egg_info.py", line 306, in find_sources
    mm.run()
  File "/usr/local/lib/python2.7/dist-packages/setuptools/command/egg_info.py", line 533, in run
    self.add_defaults()
  File "/usr/local/lib/python2.7/dist-packages/setuptools/command/egg_info.py", line 562, in add_defaults
    sdist.add_defaults(self)
  File "/usr/local/lib/python2.7/dist-packages/setuptools/command/py36compat.py", line 36, in add_defaults
    self._add_defaults_ext()
  File "/usr/local/lib/python2.7/dist-packages/setuptools/command/py36compat.py", line 119, in _add_defaults_ext
    build_ext = self.get_finalized_command('build_ext')
  File "/usr/lib/python2.7/distutils/cmd.py", line 312, in get_finalized_command
    cmd_obj.ensure_finalized()
  File "/usr/lib/python2.7/distutils/cmd.py", line 109, in ensure_finalized
    self.finalize_options()
  File "/usr/local/lib/python2.7/dist-packages/Cython/Distutils/build_ext.py", line 19, in finalize_options
    self.distribution.ext_modules)
  File "/usr/local/lib/python2.7/dist-packages/Cython/Build/Dependencies.py", line 809, in cythonize
    aliases=aliases)
  File "/usr/local/lib/python2.7/dist-packages/Cython/Build/Dependencies.py", line 714, in create_extension_list
    kwds = deps.distutils_info(file, aliases, base).values
  File "/usr/local/lib/python2.7/dist-packages/Cython/Build/Dependencies.py", line 590, in distutils_info
    return (self.transitive_merge(filename, self.distutils_info0, DistutilsInfo.merge)
  File "/usr/local/lib/python2.7/dist-packages/Cython/Build/Dependencies.py", line 600, in transitive_merge
    node, extract, merge, seen, {}, self.cimported_files)[0]
  File "/usr/local/lib/python2.7/dist-packages/Cython/Build/Dependencies.py", line 605, in transitive_merge_helper
    deps = extract(node)
  File "/usr/local/lib/python2.7/dist-packages/Cython/Build/Dependencies.py", line 581, in distutils_info0
    externs = self.cimports_and_externs(filename)[1]
  File "/usr/local/lib/python2.7/dist-packages/Cython/Utils.py", line 44, in wrapper
    res = cache[args] = f(self, *args)
  File "/usr/local/lib/python2.7/dist-packages/Cython/Build/Dependencies.py", line 491, in cimports_and_externs
    for include in self.included_files(filename):
  File "/usr/local/lib/python2.7/dist-packages/Cython/Utils.py", line 44, in wrapper
    res = cache[args] = f(self, *args)
  File "/usr/local/lib/python2.7/dist-packages/Cython/Build/Dependencies.py", line 474, in included_files
    include_path = self.context.find_include_file(include, None)
  File "/usr/local/lib/python2.7/dist-packages/Cython/Compiler/Main.py", line 274, in find_include_file
    error(pos, "'%s' not found" % filename)
  File "/usr/local/lib/python2.7/dist-packages/Cython/Compiler/Errors.py", line 177, in error
    raise InternalError(message)
Cython.Compiler.Errors.InternalError: Internal compiler error: 'algos_common_helper.pxi' not found
Complete output from command python setup.py egg_info:
running egg_info

creating pip-egg-info/pandas.egg-info
writing requirements to pip-egg-info/pandas.egg-info/requires.txt
writing pip-egg-info/pandas.egg-info/PKG-INFO
writing top-level names to pip-egg-info/pandas.egg-info/top_level.txt
writing dependency_links to pip-egg-info/pandas.egg-info/dependency_links.txt
writing manifest file 'pip-egg-info/pandas.egg-info/SOURCES.txt'
warning: manifest_maker: standard file '-c' not found
package init file 'pandas/io/tests/sas/init.py' not found (or not a regular file)
pandas/index.pyx: cannot find cimported module 'datetime'
pandas/index.pyx: cannot find cimported module 'util'
./pandas/hashtable.pxd: cannot find cimported module 'khash'
Traceback (most recent call last):
File "", line 17, in
File "/tmp/pip-build-fReTFb/pandas/setup.py", line 680, in
**setuptools_kwargs)

File "/usr/lib/python2.7/distutils/core.py", line 151, in setup
dist.run_commands()

File "/usr/lib/python2.7/distutils/dist.py", line 953, in run_commands
self.run_command(cmd)

File "/usr/lib/python2.7/distutils/dist.py", line 972, in run_command
cmd_obj.run()

File "", line 15, in replacement_run
File "/usr/local/lib/python2.7/dist-packages/setuptools/command/egg_info.py", line 306, in find_sources
mm.run()

File "/usr/local/lib/python2.7/dist-packages/setuptools/command/egg_info.py", line 533, in run
self.add_defaults()

File "/usr/local/lib/python2.7/dist-packages/setuptools/command/egg_info.py", line 562, in add_defaults
sdist.add_defaults(self)

File "/usr/local/lib/python2.7/dist-packages/setuptools/command/py36compat.py", line 36, in add_defaults
self._add_defaults_ext()

File "/usr/local/lib/python2.7/dist-packages/setuptools/command/py36compat.py", line 119, in _add_defaults_ext
build_ext = self.get_finalized_command('build_ext')

File "/usr/lib/python2.7/distutils/cmd.py", line 312, in get_finalized_command
cmd_obj.ensure_finalized()

File "/usr/lib/python2.7/distutils/cmd.py", line 109, in ensure_finalized
self.finalize_options()

File "/usr/local/lib/python2.7/dist-packages/Cython/Distutils/build_ext.py", line 19, in finalize_options
self.distribution.ext_modules)

File "/usr/local/lib/python2.7/dist-packages/Cython/Build/Dependencies.py", line 809, in cythonize
aliases=aliases)

File "/usr/local/lib/python2.7/dist-packages/Cython/Build/Dependencies.py", line 714, in create_extension_list
kwds = deps.distutils_info(file, aliases, base).values

File "/usr/local/lib/python2.7/dist-packages/Cython/Build/Dependencies.py", line 590, in distutils_info
return (self.transitive_merge(filename, self.distutils_info0, DistutilsInfo.merge)

File "/usr/local/lib/python2.7/dist-packages/Cython/Build/Dependencies.py", line 600, in transitive_merge
node, extract, merge, seen, {}, self.cimported_files)[0]

File "/usr/local/lib/python2.7/dist-packages/Cython/Build/Dependencies.py", line 605, in transitive_merge_helper
deps = extract(node)

File "/usr/local/lib/python2.7/dist-packages/Cython/Build/Dependencies.py", line 581, in distutils_info0
externs = self.cimports_and_externs(filename)[1]

File "/usr/local/lib/python2.7/dist-packages/Cython/Utils.py", line 44, in wrapper
res = cache[args] = f(self, *args)

File "/usr/local/lib/python2.7/dist-packages/Cython/Build/Dependencies.py", line 491, in cimports_and_externs
for include in self.included_files(filename):

File "/usr/local/lib/python2.7/dist-packages/Cython/Utils.py", line 44, in wrapper
res = cache[args] = f(self, *args)

File "/usr/local/lib/python2.7/dist-packages/Cython/Build/Dependencies.py", line 474, in included_files
include_path = self.context.find_include_file(include, None)

File "/usr/local/lib/python2.7/dist-packages/Cython/Compiler/Main.py", line 274, in find_include_file
error(pos, "'%s' not found" % filename)

File "/usr/local/lib/python2.7/dist-packages/Cython/Compiler/Errors.py", line 177, in error
raise InternalError(message)

Cython.Compiler.Errors.InternalError: Internal compiler error: 'algos_common_helper.pxi' not found

Cleaning up...
Command python setup.py egg_info failed with error code 1 in /tmp/pip-build-fReTFb/pandas
Storing debug log for failure in /root/.pip/pip.log
The command '/bin/sh -c set -ex     && buildDeps='         python-dev         python-pip         libkrb5-dev         libsasl2-dev         libssl-dev         libffi-dev         build-essential         libblas-dev         liblapack-dev     '     && echo "deb http://http.debian.net/debian jessie-backports main" >/etc/apt/sources.list.d/backports.list     && apt-get update -yqq     && apt-get install -yqq --no-install-recommends         $buildDeps         apt-utils         curl         netcat         locales     && apt-get install -yqq -t jessie-backports python-requests libpq-dev     && apt-get install -y sshpass     && apt-get install -y openssh-server     && sed -i 's/^# en_US.UTF-8 UTF-8$/en_US.UTF-8 UTF-8/g' /etc/locale.gen     && locale-gen     && update-locale LANG=en_US.UTF-8 LC_ALL=en_US.UTF-8     && useradd -ms /bin/bash -d ${AIRFLOW_HOME} airflow     && pip install --upgrade setuptools     && pip install Cython     && pip install pytz==2015.7     && pip install python-dateutil     && pip install numpy     && pip install cryptography     && pip install pyOpenSSL     && pip install ndg-httpsclient     && pip install pyasn1     && pip install psycopg2     && pip install airflow[celery,postgres,hive,hdfs]==$AIRFLOW_VERSION     && apt-get remove --purge -yqq $buildDeps libpq-dev     && apt-get clean     && rm -rf         /var/lib/apt/lists/*         /tmp/*         /var/tmp/*         /usr/share/man         /usr/share/doc         /usr/share/doc-base' returned a non-zero code: 1

any ideas ?

I am facing the same issue

I have temporarily fixed it by installing the older version of pandas. pandas dependency is coming from airflow. Add pip install pandas==0.18.1 to the docker file(before pip install airflow) to force older version of pandas used in airflow. Seems to be an issue with pandas 0.19

@anurajp yo it works ! thanks.
But i cann acces the webUI after building. with docker ps it shows that the scheduler keeps restarting every ~1 min. Any idea?
PS: i'm using a modifed version of the celereExecutor docker compose file:
version: '2'
services:
rabbitmq:
image: rabbitmq:3-management
restart: always
ports:
- "15672:15672"
- "5672:5672"
environment:
- RABBITMQ_DEFAULT_USER=airflow
- RABBITMQ_DEFAULT_PASS=airflow
- RABBITMQ_DEFAULT_VHOST=airflow
postgres:
    image: postgres
    environment:
        - POSTGRES_USER=airflow
        - POSTGRES_PASSWORD=airflow
        - POSTGRES_DB=airflow
    volumes:
        - /stor/OSF_Tracking/tmp/postgresql:/var/lib/postgresql/data

webserver:
    image: puckel/docker-airflow:<IP_ADDRESS>-3
    restart: always
    depends_on:
        - postgres
        - rabbitmq
    environment:
        # - LOAD_EX=n
        - EXECUTOR=Celery
    volumes:
        - /stor/OSF_Tracking/airflow_docker/dags_folder:/usr/local/airflow/dags
        - /stor/OSF_Tracking/airflow_docker/logs:/usr/local/airflow/logs
    ports:
        - "9595:9595"
    command: webserver

flower:
    image: puckel/docker-airflow:<IP_ADDRESS>-3
    restart: always
    depends_on:
        - rabbitmq
    environment:
        - EXECUTOR=Celery
    ports:
        - "5555:5555"
    command: flower

scheduler:
    image: puckel/docker-airflow:<IP_ADDRESS>-3
    restart: always
    depends_on:
        - webserver
    volumes:
        - /stor/OSF_Tracking/airflow_docker/dags_folder:/usr/local/airflow/dags
        - /stor/OSF_Tracking/airflow_docker/logs:/usr/local/airflow/logs
    environment:
        # - LOAD_EX=n
        - EXECUTOR=Celery
    command: scheduler -n 5

worker:
    image: puckel/docker-airflow:<IP_ADDRESS>-3
    restart: always
    depends_on:
        - scheduler
    volumes:
        - /stor/OSF_Tracking/airflow_docker/dags_folder:/usr/local/airflow/dags
        - /stor/OSF_Tracking/airflow_docker/logs:/usr/local/airflow/logs
    environment:
        - EXECUTOR=Celery
    command: worker

@sdikby could you follow the webserver and scheduler log and paste the error?

@anurajp i solved it. it was some network problem with an old container version of docker airflow.
I have one last question if i may. To connect to my host via airflow docker i use a tool named sshpass. Icall it each time within any airflow operator for example to execute some extern bash script or to do something in HDFS. I think it is some brute solution because my username/password for the host are hard coded in each DAG. Can you maybe point me to another alternative? Which method do you use to interact with extern component from airflow docker ?

@sdikby apologies for late reply. We use SSHOperator to connect airflow docker with our gateway machine. Our gateway machine has all hadoop clients installed. So far it has worked pretty nicely for us.

@anurajp would you please tell me exactly how you do it with SSHOperator ? maybe with a SSHOperator task layout example? and if i should do something else beside instanciating this operator?


nfs: add support for clients in the StorageClass

The clients parameter in the storage class is used to limit access to the export to the set of hostnames, networks or ip addresses specified.
Describe what this PR does
This PR addresses the requirements in Issue #3852 allowing users to specify hostname, networks and ip addresses allowed to access the NFS volume.
Related issues
Fixes: #3852
Future concerns
Users may want to add different access_types for different clients. However this is not supported by go-ceph at the moment. We may have to review this change once we can set this up with go-ceph.

/test ci/centos/mini-e2e-helm/k8s-1.27

From my own testing.
Storage-Class:
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
  name: rook-nfs
provisioner: rook-ceph.nfs.csi.ceph.com
parameters:
  nfsCluster: my-nfs
  server: rook-ceph-nfs-my-nfs-a
  clusterID: rook-ceph
  fsName: myfs
  pool: myfs-replicated
  csi.storage.k8s.io/provisioner-secret-name: rook-csi-cephfs-provisioner
  csi.storage.k8s.io/provisioner-secret-namespace: rook-ceph
  csi.storage.k8s.io/controller-expand-secret-name: rook-csi-cephfs-provisioner
  csi.storage.k8s.io/controller-expand-secret-namespace: rook-ceph
  csi.storage.k8s.io/node-stage-secret-name: rook-csi-cephfs-node
  csi.storage.k8s.io/node-stage-secret-namespace: rook-ceph
  secTypes: sys,krb5
  clients: <IP_ADDRESS>/24,<IP_ADDRESS>/24
reclaimPolicy: Delete
allowVolumeExpansion: true
mountOptions:

Test PVC created from
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: nfs-test
spec:
  accessModes:
    - ReadWriteOnce
  resources:
    requests:
      storage: 1Gi
  storageClassName: rook-nfs

The resulting exports block created by the CSI driver.
EXPORT {
    FSAL {
        name = "CEPH";
        user_id = "nfs.my-nfs.1";
        filesystem = "myfs";
        secret_access_key = "AQAu2IZkVBzGLRAABhHO4zuxlhYxXNChWrdUDA==";
    }
    CLIENT {
        clients = <IP_ADDRESS>/24,  <IP_ADDRESS>/24;
        access_type = "rw";
        squash = "none";
    }
    export_id = 1;
    path = "/volumes/csi/csi-vol-a79fb1a5-93d8-40cb-a18d-be4dc5f7c0ea/f6dcc67d-5276-4bf2-8c25-71d29bf4a044";
    pseudo = "/0001-0009-rook-ceph-0000000000000001-a79fb1a5-93d8-40cb-a18d-be4dc5f7c0ea";
    access_type = "none";
    squash = "none";
    attr_expiration_time = 0;
    security_label = true;
    protocols = 4;
    transports = "TCP";
    SecType = "sys", "krb5";
}

/test ci/centos/mini-e2e-helm/k8s-1.27

/test ci/centos/mini-e2e/k8s-1.27

/test ci/centos/mini-e2e/k8s-1.27

/test ci/centos/mini-e2e/k8s-1.27

/test ci/centos/mini-e2e/k8s-1.27

/test ci/centos/mini-e2e/k8s-1.27

/test ci/centos/mini-e2e/k8s-1.27

/test ci/centos/mini-e2e/k8s-1.27

/test ci/centos/mini-e2e/k8s-1.27

/test ci/centos/mini-e2e/k8s-1.27

I don't immediately see why the ci fails, it complains about e2e/nfs.go:472 which is the deletion of the StorageClass, but there are no errors logged that help identifying the cause. My guess is that ceph fsid failed for some reason, maybe it needs a retry as we have in other parts of the code?
logs

/test ci/centos/mini-e2e/k8s-1.27

/test ci/centos/mini-e2e/k8s-1.27

/test ci/centos/mini-e2e/k8s-1.27

multi-arch-build failure should be addressed with #3959.
The golangci-lint issues need addressing.

/test ci/centos/mini-e2e/k8s-1.27

/test ci/centos/mini-e2e/k8s-1.27

@mergifyio queue

@mergifyio refresh

@mergifyio rebase

/retest ci/centos/mini-e2e-helm/k8s-1.25


Open GSN Integration

Integrate Open GSN with our existing contracts

/cib

Notion: https://www.notion.so/owlprotocol/OpenGSN-on-Owl-Protocol-1125792288d849f0b3a319e3b78f7fbd

refactor OwlProtocolERC721GSN be a separate contract that inherits from OwlProtocolERC721 and enables GSN capability
test ERC721 transfers with GSN by using the pattern from https://github.com/owlprotocol/opengsn-testing-example


Sync for Handlers is problematic for types like Sender

Sender is not Sync, and is instead meant to be Cloned for every concurrent user. Right now, hyper doesn't expose a way to make this happen, and instead forces you to use a Mutex<Sender<T>>, which is subpar.
My first attempt to fix this was to write a copy-on-access wrapper that lifts types from Clone to Sync, but this is actually unsafe since for non-Sync types like RefCell or Rc calling clone concurrently causes bad behavior.
The immediate resolution I see here to is to just bound by Send + Clone instead of Send + Sync, after which you could recover the current behavior by using Arc inside of your type. Alternatively, we could add a separate method for Send + Clone handlers and Send + Sync handlers, wrapping them in an Arc or not depending on which method is used.

I have heard the same a couple times now in rust-webdev. I've been thinking
of changing to a Clone bounds instead of Sync...
On Tue, Jan 13, 2015, 2:33 PM Jonathan Reem<EMAIL_ADDRESS>wrote:

Sender is not Sync, and is instead meant to be Cloned for every
concurrent user. Right now, hyper doesn't expose a way to make this happen,
and instead forces you to use a Mutex<Sender> which is subpar.
My first attempt to fix this was to write a copy-on-access wrapper that
lifts types from Clone to Sync, but this is actually unsafe since for non-
Sync types like RefCell or Rc calling clone concurrently causes bad
behavior.
The immediate resolution I see here to is to just bound by Send + Clone
instead of Send + Sync, after which you could recover the current
behavior by using Arc inside of your type. Alternatively, we could add a
separate method for Send + Clone handlers and Send + Sync handlers,
wrapping them in an Arc or not depending on which method is used.
—
Reply to this email directly or view it on GitHub
https://github.com/hyperium/hyper/issues/248.

We talked through this on IRC. Simple synopsis is that if it were Clone, users could easily have state on their handler that they think is modified with each request, but instead, it would have been cloned several times and not modify what they hoped. Instead, it's better force the user to make sure their state is synchronized.

So sending data to channel in hyper handler will block for acquiring lock even we use an async sender?


Output from simulation study shows unexpected values

StanProblem.txt
StanProblem.pdf
Summary:
The output of a generated quantity gives surprising results.
Description:
I was trying to implement a simulation study described in The BUGS Book in Stan and the output was surprising.  The simulation study essentially is based on the question "Suppose costs of a repair have a gamma distribution with mean £100 and standard deviation £50: how many items will I be able to repair for £1000?".
The program seems to be simple enough:  Generate gamma random variates with parameters α=4 and β=0.04 and sum them up until the limit of 1000 is exceeded, then substract the count for the last generated random variate.
Reproducible Steps:
Run the attached R notebook (StanProblem.txt), after downloading it should be renamed StanProblem.Rmd and opened using RStudio.  The attached PDF file StanProblem.pdf shows the results that I obtain on my computer.  A student of mine reported similar results when running (an earlier version of) this notebook on his MacBook.
Current Output:
Shown in the attached PDF file.
Expected Output:
I would have expected that the summary of the y values in the first section would be similar to the summary given in the second section, where only one gamma variate is generated.
I am a bit baffled which values are returned for y in the first example.  I would expect that it is the last generated variate in the while() loop.  That variate should be gamma with parameters α=4 and $beta;=0.04, whose theoretical mean and standard deviation are respectively 100 and 50.  The sample mean and sample standard deviation shown in the output is quite far from these theoretical values.
Additional Information:
My apologies if this should have actually been reported as an  rstan issue rather than a stan issue.  The PDF file gives more information for my setup as it includes the information from sessionInfo() in R.
Current Version:
v2.17.1

Fun example. This isn’t a bug; the y across the two examples should be distributed differently.
In the first example, if you save the first gamma random variable, that will have the properties you’re expecting: y_first ~ gamma(4, 0.05). So why is your y not distributes this way? It’s because you’re getting the distribution p(y | sum < 100 AND sum + y > 100).
There’s a quick way to reason that the expectation of this variable is larger than 100: you’d only could use the first random variable if y_1 > 100. And that continues for the rest of the subsequent draws.
It’s a little too early in the morning (and I’m on my phone) for me to work out the analytic form if there is one, but I’d do it using simulation anyway.

G’day Daniel,
Of course! Length biased sampling! I should have known, but did not recognise it on this occasion.
Thank you for your help.
Cheers,
Berwin


Issue-842: Fix deprecation warnings during build time [in progress]

Fixes #842
This is only the beginning but I also wanted to get feedback from your CI server.

@carlspring This pull now contains fixes to all deprecations in regards to external libraries, with one exception: The use of StandardPasswordEncoder in the class CacheManagerAuthenticationCache, since I was not sure if you really want to replace it with one of the other encoders. I will add a list of internal deprecations in issue #842

Thanks for looking into it! So far, I think it looks good!
@sbespalov / @fuss86 : Any thoughts regarding the StandardPasswordEncoder and CacheManagerAuthenticationCache question?
@v3rtumnus : The list would be quite helpful, thanks!

@v3rtumnus : Is this ready for merging?

It currently contains all fixes for external deprecation warnings (except the StandardPasswordEncoder). If you want to do the internal ones (hope to provide the list in one of the next days) in a separate PR, then it is ready from my side.

Here is a list of internal deprecations:
[INFO] /home/michael/Entwicklung/workspace_test/strongbox/strongbox-storage/strongbox-storage-api/src/main/java/org/carlspring/strongbox/storage/validation/resource/ArtifactOperationsValidator.java: Some input files use or override a deprecated API.
[INFO] /home/michael/Entwicklung/workspace_test/strongbox/strongbox-storage/strongbox-storage-api/src/test/java/org/carlspring/strongbox/MockedRemoteRepositoriesHeartbeatConfig.java: Some input files use or override a deprecated API.
[INFO] /home/michael/Entwicklung/workspace_test/strongbox/strongbox-storage/strongbox-storage-layout-providers/strongbox-storage-maven-layout-provider/src/main/java/org/carlspring/strongbox/storage/indexing/RepositoryIndexer.java: Some input files use or override a deprecated API.
[INFO] /home/michael/Entwicklung/workspace_test/strongbox/strongbox-storage/strongbox-storage-layout-providers/strongbox-storage-maven-layout-provider/src/test/java/org/carlspring/strongbox/storage/validation/groupid/MavenGroupIdLowercaseValidatorTest.java: Some input files use or override a deprecated API.
[INFO] /home/michael/Entwicklung/workspace_test/strongbox/strongbox-storage/strongbox-storage-layout-providers/strongbox-storage-nuget-layout-provider/src/main/java/org/carlspring/strongbox/providers/layout/NugetLayoutProvider.java: /home/michael/Entwicklung/workspace_test/strongbox/strongbox-storage/strongbox-storage-layout-providers/strongbox-storage-nuget-layout-provider/src/main/java/org/carlspring/strongbox/providers/layout/NugetLayoutProvider.java uses or overrides a deprecated API.
[INFO] /home/michael/Entwicklung/workspace_test/strongbox/strongbox-storage/strongbox-storage-layout-providers/strongbox-storage-nuget-layout-provider/src/test/java/org/carlspring/strongbox/config/NugetLayoutProviderTestConfig.java: Some input files use or override a deprecated API.
[INFO] /home/michael/Entwicklung/workspace_test/strongbox/strongbox-storage/strongbox-storage-layout-providers/strongbox-storage-npm-layout-provider/src/main/java/org/carlspring/strongbox/providers/layout/NpmLayoutProvider.java: /home/michael/Entwicklung/workspace_test/strongbox/strongbox-storage/strongbox-storage-layout-providers/strongbox-storage-npm-layout-provider/src/main/java/org/carlspring/strongbox/providers/layout/NpmLayoutProvider.java uses or overrides a deprecated API.
[INFO] /home/michael/Entwicklung/workspace_test/strongbox/strongbox-storage/strongbox-storage-layout-providers/strongbox-storage-raw-layout-provider/src/main/java/org/carlspring/strongbox/providers/layout/RawLayoutProvider.java: /home/michael/Entwicklung/workspace_test/strongbox/strongbox-storage/strongbox-storage-layout-providers/strongbox-storage-raw-layout-provider/src/main/java/org/carlspring/strongbox/providers/layout/RawLayoutProvider.java uses or overrides a deprecated API.
[INFO] /home/michael/Entwicklung/workspace_test/strongbox/strongbox-storage/strongbox-storage-layout-providers/strongbox-storage-raw-layout-provider/src/test/java/org/carlspring/strongbox/providers/layout/RawLayoutProviderTest.java: /home/michael/Entwicklung/workspace_test/strongbox/strongbox-storage/strongbox-storage-layout-providers/strongbox-storage-raw-layout-provider/src/test/java/org/carlspring/strongbox/providers/layout/RawLayoutProviderTest.java uses or overrides a deprecated API.
[INFO] /home/michael/Entwicklung/workspace_test/strongbox/strongbox-storage/strongbox-storage-layout-providers/strongbox-storage-p2-layout-provider/src/main/java/org/carlspring/strongbox/providers/layout/P2LayoutProvider.java: /home/michael/Entwicklung/workspace_test/strongbox/strongbox-storage/strongbox-storage-layout-providers/strongbox-storage-p2-layout-provider/src/main/java/org/carlspring/strongbox/providers/layout/P2LayoutProvider.java uses or overrides a deprecated API.
[INFO] /home/michael/Entwicklung/workspace_test/strongbox/strongbox-web-core/src/main/java/org/carlspring/strongbox/web/HeaderMappingFilter.java: /home/michael/Entwicklung/workspace_test/strongbox/strongbox-web-core/src/main/java/org/carlspring/strongbox/web/HeaderMappingFilter.java uses or overrides a deprecated API.
[INFO] /home/michael/Entwicklung/workspace_test/strongbox/strongbox-web-core/src/test/java/org/carlspring/strongbox/config/IntegrationTest.java: /home/michael/Entwicklung/workspace_test/strongbox/strongbox-web-core/src/test/java/org/carlspring/strongbox/config/IntegrationTest.java uses or overrides a deprecated API.

Please let me know if you want it in a different format and what if I should add something to this PR.

Can be merged from my side, as the internal deprecations will be dealt with in a separate PR

I incorporated the feedback by @sbespalov regarding exception handling and added one missed deprecation handling for mockito. Can by merged imho when the Jenkins server is back up.

Thanks for the reviews and fixes! :)

@carlspring I believe this can be merged now. Failing test cases are related to another issue.
@v3rtumnus thanks for your contribution! :+1:  :)

Oh, i didn't see the Sonar warnings before merging. @v3rtumnus : Would you mind cleaning up the warnings about the unused import statements and opening a new pull for this? Thanks!


EditorSession State API

Introduction
When developing Substance applications it is often necessary to store volatile, not persisted information along with nodes. These updates should behave similar as real document changes with respect to the EditorSession update flow.
For model changes editorSession.transaction() is used that records all changes, and applies them as a batch to the model, analyzing the change marking resources (paths) as dirty, and triggering listeners in an efficient way.
A similar approach is desired for state changes, however, this should not be mixed with model updates to avoid an inconsistency in how the changes are treated and persisted.
Lately we have been experimenting with using stub changes and marking nodes as dirty to leverage EditorSessions existing update mechanism. This plays well with EditorSession flows and how listeners get triggered.
Proposal:
editorSession.updateState((state) => {
  state.get(path)
  state.set(path, values)
  state.extend(path, values)
})

similar to editorSession.transaction((tx) => {})
similar observation mechanism:editorSession.onRender('state', this._onStateChange, this, { path: [this.props.node.id]})

Obsolete.


why i can't import in nuxt3

Describe the bug
config
export default defineNuxtConfig({
    modules: [
        '@pinia/nuxt',
        '@pinia-plugin-persistedstate/nuxt',
    ],
})

Reproduction
see describe
System Info
"dependencies": {
    "nuxt": "^3.12.2",
    "pinia": "^2.1.7",
    "vue": "latest"
  },

"devDependencies": {
    "@element-plus/nuxt": "^1.0.9",
    "@pinia-plugin-persistedstate/nuxt": "^1.2.1",
    "@pinia/nuxt": "^0.5.1",
    "element-plus": "^2.7.6",
    "sass": "^1.77.6"
  }

Used Package Manager
npm
Validations

[X] Follow our Code of Conduct
[X] Read the Contributing Guide.
[X] Check that there isn't already an issue that reports the same bug to avoid creating a duplicate.
[X] The provided reproduction is a minimal reproducible of the bug.

these imports are auto-imports from Nuxt and imported from #imports  .
also, if you need further investigation please provide a proper reproduction repo 🫡

i fix it
you neet add this code in nuxt
export default defineNuxtConfig({
  modules: ['@pinia/nuxt', '@pinia-plugin-persistedstate/nuxt'],
  build: {
    transpile: ['pinia-plugin-persistedstate'],
  },
});


Example Code?

Any plans to release some examples?

Hi @schnorea ,
I do not have plan to add examples because the library is generic enough to be used in whatever board that mounts this component and I do not want to limit the library at any specific board. You can give a look at the examples for the X-NUCLEO-53L1A1 and starting from them derived the examples for your specific platform. Anyway, if you describe your hardware setup, I can help you to write a sketch that works on your specific hardware.
Best Regards,
Carlo


feat(task-queue): updating task queue metrics to use labelled gauge

PR Description

Updated task queue metrics to use a labelled gauge in place of individual gauges
Affected metrics storage_memory_states_tasks_requested, storage_memory_states_tasks_active, storage_memory_states_tasks_queued, storage_memory_checkpoint_states_tasks_requested, storage_memory_checkpoint_states_tasks_active and storage_memory_checkpoint_states_tasks_queued
Updated metric names storage_memory_states_tasks and storage_memory_checkpoint_states_tasks with label status (requested/active/queued)
Contains UT

Fixed Issue(s)

Closes #4465

Documentation

Changelog

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


JsDoc for overloads

When adding JSDoc to an overloaded function, It seems that the JSDoc comment must immediately precede the actual function. When preceding the list of overloads, the JSDoc comment is dropped after compilation.
Example:
module app {
/**
 * Returns "foo"
 *
 * this doesn't output.
 */
export function foo(x: string): string;
export function foo(x: number): string;
export function foo(x: any): string {
    return "foo";
}

export function bar(x: string): string;
export function bar(x: number): string;

/**
 * Returns "bar"
 *
 * this will output. but I don't like my overloads detached.
 */
export function bar(x: any): string {
    return "bar";
}

}

Overloads do not get emitted, similar to interfaces; they are only used for compile time checks but do not exist at runtime. Only the function implementation exists. the problem is what happens if you have multiple comments, e.g. one per signature. duplicating does not seem ideal. more over, if the comments were aggregated, there is no way for you to document an overload with different information than the implementation (e.g. to show in .d.ts but not in the .js file).

I concur. Perhaps the JsDoc subfeature needs its own documentation page. Would be nice to share this knowledge instead of having to learn by surprise. Thanks :)

The general rule is that comments follow a language construct; if that ends up emitted the comment will be emitted, otherwise not. This applies to the .js and .d.ts emit as well.


snekbox and docker intergration

Hey, Sentdex, am quickly here to ask, if I implemented an python eval cog for this sentdebot update, would you be OK with that?
https://github.com/python-discord/snekbox
It uses a dockerized save eval system, which is why I am inclined to ask (as it involves setting up a docker) if this is OK lemme know :P
Thanks :P

Or https://github.com/engineer-man/piston as has been recommended?


Fix template link in documentation

Description of your changes
The first link needed for a beginner to start with the provider generation was broken. It now points to the updated repository location.
I have:

[x] Read and followed Upjet's contribution process.
[ ] Run make reviewable to ensure this PR is ready for review.
[ ] Added backport release-x.y labels to auto-backport this PR if necessary.

@sanzoghenzo thanks for this fix. There is a problem about signing-off the commit. The DCO check failed. It seems you successfully signed-off the commit but also the signing-off message must be in the commit message like:
Signed-off-by:

Since the template repo is now in the crossplane org this PR is no longer needed.


warning  message if noscript or similarmenabled

today i was suprised that webmin was no more working in my mobile firefox.
after some testing with older theme versions i saw that the noscript extension was enabled.
i had an exception for webmin configured, this seems to be lost when noscript uodates to the new webextension of firefox.
may be you can place a div with a hint that may be noscript or similar is active and need to be deactivated for webmin. as soon as your first javascriot is running the  div can be removed.
what do you think about the idea?

How about some tasty notification?

looks fine ...

Done.
Tell me how it feels?

with noscript enabled no warning is displayed, may be update from within webmin does not fetch the latest patch ... no same when updating from command line

i think i know why its not displayed: you used  tags, but Firefox noscript extension does not disable javascrip.
it filters out bad javascript. so browser does think it's enabled and some simple functions like onclick in a link works but not more danger option's are blocked.


[v1] Remove 1.6.5 version of test jar from pom template

When we released 1.6.6, the arm-client-runtime test jar azure-arm-client-runtime-1.6.6-tests.jar didn't get out. See here, there is no test.jar for 1.6.6 arm-client-runtime.
(1). The azure-arm-client-runtime-1.6.6-tests.jar cannot be pushed to maven individually or
(2).  All 1.6.6 packages cannot be pushed again together.
Attempting 1 failed as it requires main src jar
Missing: no main jar artifact found in folder '/com/microsoft/azure/azure-arm-client-runtime/1.6.6'

Attempting 2 failed with error:
Artifact updating: Repository ='releases:Releases' does not allow updating artifact='/com/microsoft/azure/azure-arm-client-runtime/1.6.6/azure-arm-client-runtime-1.6.6.jar'

Hence needs to wait for runtime 1.6.7 release. Meantime 1.6.5 version of test.jar is hardcoded in auto-rest pom template.
azure-arm-client-runtime-1.6.6-tests.jar was missed to push as part of 1.6.6 release due to an entry in bundler.properties file for runtime repro. This is fixed in this PR. With this fix, no special action is needed to include test jar when releasing 1.6.7.

This seems to have been fixed in later releases.


New maintainer?

Hey there 👋
Unfortunately, we do not have the time to maintain this package anymore.
If someone wants to take over the maintenance, I'd happily hand it over.
Otherwise, I'm going to archive this repository.

Hi Marcel.
Stopping by because I saw my PR to add Laravel 9 support was closed, and I noticed this issue.  The package looks simple enough that I would not mind maintaining it, especially since version bumps like my PR seem to be the main thing it would need.  I am not an encryption expert, however, I see that you are currently deferring to \Illuminate\Contracts\Encryption\Encrypter which does lead me to believe that my lack of expertise in that area would not be a major problem.
Either way, thank you for creating this and all of your other tools and packages.  We appreciate you and your team.
Mike

Just wondering: Is this package even still needed? Because you're able to encrypt & decrypt credentials out of the box with Laravel : https://laravel.com/docs/10.x/configuration#encrypting-environment-files

Oh that's a very good point 😅
Yeah don't think it's needed then

Yes i think so too.
I also just discovered it's possible with Laravel out of the box because of Vapor :D
https://blog.laravel.com/laravel-new-environment-encryption-commands

We kind of like to store credentials and secrets using this package, and mostly use the .env for when it actually environment specific.


[renderer1] [error] Already at root scope: Error: Already at root scope

Issue Type: Bug
Full Trace:
_[renderer1] [error] Already at root scope: Error: Already at root scope
    at a.current (/home/vladivanov20/.vscode/extensions/visualstudioexptteam.intellicode-api-usage-examples-0.0.10/dist/extension.js:2:30611)
    at a.getParentClass (/home/vladivanov20/.vscode/extensions/visualstudioexptteam.intellicode-api-usage-examples-0.0.10/dist/extension.js:2:30760)
    at o.visit_identifier (/home/vladivanov20/.vscode/extensions/visualstudioexptteam.intellicode-api-usage-examples-0.0.10/dist/extension.js:2:31770)
    at o.visit (/home/vladivanov20/.vscode/extensions/visualstudioexptteam.intellicode-api-usage-examples-0.0.10/dist/extension.js:1:36059)
    at o.genericVisit (/home/vladivanov20/.vscode/extensions/visualstudioexptteam.intellicode-api-usage-examples-0.0.10/dist/extension.js:1:36145)
    at o.visit (/home/vladivanov20/.vscode/extensions/visualstudioexptteam.intellicode-api-usage-examples-0.0.10/dist/extension.js:1:36068)
    at o.visit_function_definition (/home/vladivanov20/.vscode/extensions/visualstudioexptteam.intellicode-api-usage-examples-0.0.10/dist/extension.js:2:31574)
    at o.visit (/home/vladivanov20/.vscode/extensions/visualstudioexptteam.intellicode-api-usage-examples-0.0.10/dist/extension.js:1:36059)
    at s.visit_function_definition (/home/vladivanov20/.vscode/extensions/visualstudioexptteam.intellicode-api-usage-examples-0.0.10/dist/extension.js:17:224227)
    at s.visit (/home/vladivanov20/.vscode/extensions/visualstudioexptteam.intellicode-api-usage-examples-0.0.10/dist/extension.js:1:36059)
    at s.genericVisit (/home/vladivanov20/.vscode/extensions/visualstudioexptteam.intellicode-api-usage-examples-0.0.10/dist/extension.js:1:36145)
    at s.visit (/home/vladivanov20/.vscode/extensions/visualstudioexptteam.intellicode-api-usage-examples-0.0.10/dist/extension.js:1:36068)
    at u.resolveTypes (/home/vladivanov20/.vscode/extensions/visualstudioexptteam.intellicode-api-usage-examples-0.0.10/dist/extension.js:17:222704)
    at u.extract (/home/vladivanov20/.vscode/extensions/visualstudioexptteam.intellicode-api-usage-examples-0.0.10/dist/extension.js:17:221999)
    at c.addOrUpdateDocument (/home/vladivanov20/.vscode/extensions/visualstudioexptteam.intellicode-api-usage-examples-0.0.10/dist/extension.js:17:30530)
    at t.EditorState.addOrUpdateDocument (/home/vladivanov20/.vscode/extensions/visualstudioexptteam.intellicode-api-usage-examples-0.0.10/dist/extension.js:17:583398)
    at t.EditorState.changedEditorText (/home/vladivanov20/.vscode/extensions/visualstudioexptteam.intellicode-api-usage-examples-0.0.10/dist/extension.js:17:582904)
    at /home/vladivanov20/.vscode/extensions/visualstudioexptteam.intellicode-api-usage-examples-0.0.10/dist/extension.js:17:51881
    at u.invoke (/usr/share/code/resources/app/out/vs/workbench/api/node/extensionHostProcess.js:58:145)
    at v.fire (/usr/share/code/resources/app/out/vs/workbench/api/node/extensionHostProcess.js:58:1856)
    at R.$acceptModelChanged (/usr/share/code/resources/app/out/vs/workbench/api/node/extensionHostProcess.js:85:72788)
    at i._doInvokeHandler (/usr/share/code/resources/app/out/vs/workbench/api/node/extensionHostProcess.js:89:13826)
    at i._invokeHandler (/usr/share/code/resources/app/out/vs/workbench/api/node/extensionHostProcess.js:89:13510)
    at i._receiveRequest (/usr/share/code/resources/app/out/vs/workbench/api/node/extensionHostProcess.js:89:12171)
    at i._receiveOneMessage (/usr/share/code/resources/app/out/vs/workbench/api/node/extensionHostProcess.js:89:10841)
    at /usr/share/code/resources/app/out/vs/workbench/api/node/extensionHostProcess.js:89:8947
    at u.invoke (/usr/share/code/resources/app/out/vs/workbench/api/node/extensionHostProcess.js:58:145)
    at v.fire (/usr/share/code/resources/app/out/vs/workbench/api/node/extensionHostProcess.js:58:1856)
    at d.fire (/usr/share/code/resources/app/out/vs/workbench/api/node/extensionHostProcess.js:66:19034)
    at /usr/share/code/resources/app/out/vs/workbench/api/node/extensionHostProcess.js:104:34275
    at u.invoke (/usr/share/code/resources/app/out/vs/workbench/api/node/extensionHostProcess.js:58:145)
    at v.fire (/usr/share/code/resources/app/out/vs/workbench/api/node/extensionHostProcess.js:58:1856)
    at d.fire (/usr/share/code/resources/app/out/vs/workbench/api/node/extensionHostProcess.js:66:19034)
    at o._receiveMessage (/usr/share/code/resources/app/out/vs/workbench/api/node/extensionHostProcess.js:66:23615)
    at /usr/share/code/resources/app/out/vs/workbench/api/node/extensionHostProcess.js:66:21149
    at u.invoke (/usr/share/code/resources/app/out/vs/workbench/api/node/extensionHostProcess.js:58:145)
    at v.fire (/usr/share/code/resources/app/out/vs/workbench/api/node/extensionHostProcess.js:58:1856)
    at v.acceptChunk (/usr/share/code/resources/app/out/vs/workbench/api/node/extensionHostProcess.js:66:15865)
    at /usr/share/code/resources/app/out/vs/workbench/api/node/extensionHostProcess.js:66:14995
    at Socket.P (/usr/share/code/resources/app/out/vs/workbench/api/node/extensionHostProcess.js:104:13797)
    at Socket.emit (node:events:390:28)
    at addChunk (node:internal/streams/readable:315:12)
    at readableAddChunk (node:internal/streams/readable:289:9)
    at Socket.Readable.push (node:internal/streams/readable:228:10)
    at Pipe.onStreamRead (node:internal/stream_base_commons:199:23)_

Steps to replicate:

Install extension
Create python file
Start writing the following snippet:

import numpy as np
np.random.randint()

Check your Output window (Log (Window))

Extension version: 1.2.18
VS Code version: Code 1.66.0 (e18005f0f1b33c29e81d732535d8c0e47cafb0b5, 2022-03-30T05:50:41.156Z)
OS version: Linux x64 5.4.0-81-generic
Restricted Mode: No

System Info

Item
Value

CPUs
Intel(R) Core(TM) i7-1065G7 CPU @ 1.30GHz (8 x 3312)

GPU Status
2d_canvas: enabledcanvas_oop_rasterization: disabled_offdirect_rendering_display_compositor: disabled_off_okgpu_compositing: enabledmultiple_raster_threads: enabled_onoop_rasterization: disabled_offopengl: enabled_onrasterization: disabled_softwareraw_draw: disabled_off_okskia_renderer: enabled_onvideo_decode: disabled_softwarevideo_encode: disabled_softwarevulkan: disabled_offwebgl: enabledwebgl2: enabled

Load (avg)
3, 2, 2

Memory (System)
7.55GB (0.29GB free)

Process Argv
--unity-launch --crash-reporter-id b471123b-74f8-43bf-b24a-9be1569d32c7

Screen Reader
no

VM
0%

DESKTOP_SESSION
ubuntu

XDG_CURRENT_DESKTOP
Unity

XDG_SESSION_DESKTOP
ubuntu

XDG_SESSION_TYPE
x11

@osobeso can you please take a look at this?

Hey @osobeso @DavidObando! Any updates? Thank you :)

@osobeso @DavidObando Any updates on this issue? Thanks!

@vladivanov20 the responsible team is looking into it, we will update the ticket once we have published a fix.
Thanks!

Thank you!

@vladivanov20 Hi, we have updated the extension with a patch that fixes this issue.
Thanks for the feedback, I will close the issue for now but please let us know if you still have any issues.

Thank you! Appreciate it


🧑💻: ADD A REMINDER FEATURE

:red_circle: **Reminder system **:
:red_circle: The user set a task for a particular time and then the jarvis will remind it to do that task.:
:red_circle: Changes:
Screenshots 📷

N/A

:white_check_mark: To be Mentioned while taking the issue :

Full name : Harsh Gupta
What is your participant role?
Contributor

Happy Contributing 🚀
All the best. Enjoy your open source journey ahead. 😎

So basically user have to setup the timings and task. And reminder system have remind the task on the particular time.

To be Mentioned while taking the issue :
Full name : Abhay Kumar
What is your participant role? gssoc ext

sorry to be mis convenience
so will you assigned it to me?
On Tue, 8 Oct 2024 at 13:22, Abhay Kumar @.***> wrote:

To be Mentioned while taking the issue :
Full name : Abhay Kumar
What is your participant role? gssoc ext
—
Reply to this email directly, view it on GitHub
https://github.com/Avdhesh-Varshney/Jarvis/issues/149#issuecomment-2399110134,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/BD2LBFYAACYY6OWPID4OQBLZ2OFLFAVCNFSM6AAAAABPRKH3LOVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDGOJZGEYTAMJTGQ
.
You are receiving this because you authored the thread.Message ID:
@.***>

brother i cant do anything in this it doesn;t work shows only loop of
processing
[image: image.png]
could you suggest me what to do in this
On Tue, 8 Oct 2024 at 16:09, Avdhesh @.***> wrote:

Assigned #149 https://github.com/Avdhesh-Varshney/Jarvis/issues/149 to
@harshgupta2125 https://github.com/harshgupta2125.
—
Reply to this email directly, view it on GitHub
https://github.com/Avdhesh-Varshney/Jarvis/issues/149#event-14554463797,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/BD2LBF7PIDQNM4ES54FOROTZ2OY7TAVCNFSM6AAAAABPRKH3LOVHI2DSMVQWIX3LMV45UABCJFZXG5LFIV3GK3TUJZXXI2LGNFRWC5DJN5XDWMJUGU2TINBWGM3TSNY
.
You are receiving this because you were assigned.Message ID:
@.***>

@harshgupta2125  whats the update?


Error when trying to create conda env for Enrich2

Hi there,
I encounter an issue when trying to run dumpling. There's a pip error when trying to create the enrich2 conda env (No module named pip). If I try to create the conda env manually (conda env create --name=enrich2_python_3-12-7 --file=workflow/envs/enrich2.yaml), same thing:
Channels:
 - conda-forge
 - bioconda
 - defaults
Platform: linux-64
Collecting package metadata (repodata.json): done
Solving environment: done

Downloading and Extracting Packages:

Preparing transaction: done
Verifying transaction: done
Executing transaction: done
Installing pip dependencies: | Ran pip subprocess with arguments:
['/home/rodur28/miniconda3/envs/enrich2_python_3-12-7/bin/python', '-m', 'pip', 'install', '-U', '-r', '/project/chlandry/users/rodur28/dumpling/workflow/envs/condaenv.7kgl3__5.requirements.txt', '--exists-action=b']
Pip subprocess output:

Pip subprocess error:
/home/rodur28/miniconda3/envs/enrich2_python_3-12-7/bin/python: No module named pip
                                                                                failed

CondaEnvException: Pip failed

I found a similar error mentioned here, don't know if it's related, but the Python version is not specified in the requirements for the dumpling_env conda environment.
Help much appreciated! Thanks

Thanks for raising this issue! This could be an issue with the python version. Enrich can be tricky to install since it's based on python 2. I ported it to python 3 recently, which will (hopefully) be released shortly. In the meantime, I made a branch that will install enrich from my fork: could you try using the enrich3 branch and see if that works? This only changes the enrich2.yaml file, so might be easier to just change it to this one from the branch.

Hi! Thx for the quick response, it works well now! I encounter another issue but I'll post it separately :)

Great! Thanks for testing


Error when running dsTutorial

I tried to run dsTutorial.m without any changes, but I get the following error message:
Error using rng (line 109)
The current random number generator is the legacy generator.  This is because you have executed a command such as rand('state',0),
which activates MATLAB's legacy random number behavior.  You may not use RNG to reseed the legacy random number generator.

Use rng('default') to reinitialize the random number generator to its startup configuration, or call RNG using a specific generator
type, such as rng(seed,'twister').

Error in rng_wrapper (line 11)
    out = rng(in);

Error in solve_ode_20200303190620_956 (line 16)
rng_wrapper(p.random_seed);

Error in dsSimulate/tryFn (line 1048)
            [outputs{1:length(output_variables)}]=feval(fname);

Error in dsSimulate (line 797)
    tryFn(nargout)

Error in dsTutorial (line 50)
data=dsSimulate(eqns,'tspan',[0 100],'ic',[1 2 .5],'solver','rk4');

Any idea of why this is happening? I am using the most recent version of DynaSim on MATLAB R2017B.

Hello @ysiahpoosh is this still an issue? I just tested this using the current dev branch of DynaSim using the MATLAB version you indicated, 2017b, and I'm not getting the same error. Can you confirm if this was fixed or is still happening please? Thanks!


[analyzer] dead_code does not flag dead code in for-loop

Dart SDK Version 2.19.2

The following snippet of code isn't flagged as dead code even though it can't ever be reached:
for (int i = 0; i < 0; i++) {
  // Dead code not flagged
}

However, replacing the condition with a false literal seems to flag it:
for (int i = 0; false; i++) {
  // Dead code flagged
}

while (false) {
  // Dead code flagged
}

@stereotype441

Thanks for raising the question.
While it's true that we could recognize a small number of special cases (the for loop example being one), recognizing all of the cases (such as the while loop example) would effectively require evaluating some portion of the code.
Even with the restrictions necessary to avoid the halting problem, we don't believe that we want the analyzer to perform any evaluation of code beyond what's required by the specification for constants. As a result, we're going to have to say no to this request.


isEnterprise returns true incorrectly on github.localhost

Hello! I have an admittedly niche problem - I'm working on a CLI extension against github.localhost, which means setting GH_HOST=github.localhost for each command. Calling isEnterprise returns true in that case, because it is not github.com:
https://github.com/cli/go-gh/blob/9dbbfe25d9431c8044018aeb7f101c12fdcc1394/internal/config/config.go#L110-L112
That results in an incorrect (and un-fixable) URL here:
https://github.com/cli/go-gh/blob/9dbbfe25d9431c8044018aeb7f101c12fdcc1394/internal/api/rest_client.go#L112-L117
As far as I can tell, there's no way for me to say "use GH_HOST, but also use api.<GH_HOST> instead of <GH_HOST>/api/v3". Is that correct, or is there a patch needed here? Happy to open a PR adding an exception for github.localhost if that makes sense, or some more consistent way of setting the full URL?

FWIW, I did think that maybe have GH_HOST=http://api.github.localhost would work, but that gives:
Post "https://http//api.github.localhost/api/v3/repos/:owner/:repo/<REDACTED>"

@JasonEtco Thank you for reporting! This seems to be a bug.
@samcoe What do you think about porting hostname normalization logic over from CLI? https://github.com/cli/cli/blob/4c237708d878008e85e8190d310dc1826b463ca9/internal/ghinstance/host.go#L20-L22

@JasonEtco @mislav Yup, we should port over the localhost handling in the hostname normalization logic, it was just an oversite that it isn't already there. It if it isn't super urgent to get this fixed, to avoid conflicts, perhaps we can add it after #44 and #45 land since those PR's change the location of normalization code.

Ah great, thanks for confirming its a bug y'all! This is not super urgent, I can hack around it locally for now.


chore: bump Jenkins Core to 2.401.3

chore: bump Jenkins Core to 2.401.3

Verify this issue is fixed https://github.com/jenkinsci/opentelemetry-plugin/issues/775

@kuisathaverat I fixed the build with:

https://github.com/jenkinsci/opentelemetry-plugin/pull/780

superseded by https://github.com/jenkinsci/opentelemetry-plugin/pull/781


[Android] Fix the javascript was not executed issue.

Sometimes XWalkView was created in onXWalkReady(), if the activity which
owns XWalkView was destroyed, pauseTimers() will be invoked, then
JavaScript timer was also paused. Reentry this activity, the
resumeTimers() was not called since XWalkView creation was later than
onResume().
Invoke resumeTimers() explicitly when XWalkView was created.
BUG=XWALK-4676
(cherry picked from commit 421d1dfbba5f4bac76a504a48083367073f243e3)

@lincsoon @halton Please merge it to crosswalk-15, thanks.


Azure AD as a third-party Key Manager “Provide Existing Oauth Keys” option fails when new tenant from Azure AD is created since the MICROSOFT_DEFAULT_SCOPE is always set to "https://graph.microsoft.com/.default" in the custom Key Manager code

Description
Hi Team,
Azure AD as a third-party Key Manager extension [1] fails when trying to use the “Provide Existing Oauth Keys” option from the Developer portal since the default scope is always set to https://graph.microsoft.com/.default. Since this scope is hardcoded [2] [3], customers cannot use different AzureAD tenants/scopes (https://microsoftgraph.newenvironment.cn/.default) to get the token from AzureAD rather than the default scope (https://graph.microsoft.com/.default).
Thanks & Regards,
Janitha Bandara
[1]https://github.com/wso2-extensions/apim-km-azure-ad/tree/v1.0.6
[2]https://github.com/wso2-extensions/apim-km-azure-ad/blob/a767fed4bc101ddbedc539038eac7a495f0034f3/components/azure.key.manager/src/main/java/org/wso2/azure/client/AzureADRequestInterceptor.java#L36
[3]https://github.com/wso2-extensions/apim-km-azure-ad/blob/a767fed4bc101ddbedc539038eac7a495f0034f3/components/azure.key.manager/src/main/java/org/wso2/azure/client/AzureADConstants.java#L35C1-L36C1
Steps to Reproduce

Engage the Azure AD as a third-party Key Manager extension [1].
Use different tenant (https://microsoftgraph.newenvironment.cn/.default) in AzureAd rather than the default tenant (https://graph.microsoft.com/.default).
Try to use "Provide Existing Oauth Keys" option from Developer portal.

Affected Component
APIM
Version
4.1.0
Environment Details (with versions)
No response
Relevant Log Output
No response
Related Issues
No response
Suggested Labels
No response

Closing as the public branch PR is merged already.


Configure things that should be configurable

Identified in : https://github.com/ed-pilots-network/backend/pull/69
For example AsyncConfig.taskScheduler()  currently uses a magic number for the thread count, and has a TODO statement on it.
I'd personally also like config to be fetchable from an endpoint (IIRC, actuator can do it for us), and the option for config to be edited in real time, without requiring application restart. But both of these should be considered "Nice to haves"

I suggest using something in the line of spring cloud config
https://docs.spring.io/spring-cloud-config/docs/current/reference/html/


Fix python linter

What this PR does / why we need it:

Fixes flake8 exclude files
Fixes hack/python_releash.sh script
Adds black as dev dependency

Which issue(s) this PR fixes (optional, in fixes #<issue number>(, fixes #<issue_number>, ...) format, will close the issue(s) when PR gets merged):
Fixes #
Type of changes
Please delete options that are not relevant.

[x] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] This change requires a documentation update

Feature/Issue validation/testing:
Please describe the tests that you ran to verify your changes and relevant result summary. Provide instructions so it can be reproduced.
Please also list any relevant details for your test configuration.

[ ] Test A

[ ] Test B

Logs

Special notes for your reviewer:

Please confirm that if this PR changes any image versions, then that's the sole change this PR makes.

Checklist:

[ ] Have you added unit/e2e tests that prove your fix is effective or that this feature works?
[ ] Has code been commented, particularly in hard-to-understand areas?
[ ] Have you made corresponding changes to the documentation?

Release note:

NONE

Black does not seem to oragnize the imports. Should we isort kind of tool for that ?

/approve


Update sol2ink-follow-up.md

Project Abstract
This is an update of an already accepted grant.
This update addresses some team and wallet adjustments that we have made.
Grant level

[ ] Level 1:  Up to $10,000, 2 approvals
[ ] Level 2:  Up to $30,000, 3 approvals
[X] Level 3:  Unlimited, 5 approvals (for >$100k: Web3 Foundation Council approval)

Application Checklist

[x] The application template has been copied and aptly renamed (project_name.md).
[X] I have read the application guidelines.
[X] A BTC, Ethereum (USDC/DAI) or Polkadot/Kusama (aUSD/USDT) address for the payment of the milestones is provided in the application.
[X] The software delivered for this grant will be released under an open-source license specified in the application.
[X] The initial PR contains only one commit (squash and force-push if needed).
[X] The grant will only be announced once the first milestone has been accepted (see the announcement guidelines).

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


Missing submodule spot-sim2real

🐛 Bug

Steps to Reproduce
Steps to reproduce the behavior:
In the home-robot repo, run $HOME_ROBOT_ROOT/projects/habitat_ovmm/install.sh
Expected behavior
if this submodule is needed then it should be available, if not remove it from https://github.com/facebookresearch/home-robot/blob/main/.gitmodules
Additional context
https://github.com/Jdvakil/spot-sim2real/tree/1cecb34f5a3e52119baec35bbc9d48bf48e06431 doesn't exist in https://github.com/facebookresearch/home-robot/tree/main/src/third_party

Duplicate #475
This module is only needed for real Spot. It is not necessary for OVMM simulation or real experiments. We will fix this.


Opening a second instance of a card-web silently fails

Ever since we switched to the new longPolling with the provisional fix in #665, it introduced a subtle bug.
If you try to open a second tab (instance) of a card web (which can happen if you have a tab you forgot about) then the second instance fails to load with a "No such card" loading indicator. If you inspect hte console it's firebase complaining about a second instance existing.
We should at the very least handle that error gracefully with a user visbile message (maybe even if it's possible, closing that tab and focusing the other one by rendevouzing in the service worker). But ideally we just skip this problem in the first place.

The originally broke due to fix in #659


Add serialization support for dynamic textures

Fixes https://github.com/BabylonJS/Babylon.js/issues/4793

@deltakosh toDataURL works on IE11, but my playground was using a promise, which didn't work.  I changed it to use observable instead to test on IE11: http://playground.babylonjs.com/#FU0ES5
I also added a warning indicating that the scene should be ready before serializing the dynamic texture.  I can add this warning to the Dynamic Texture documentation as well.

Good!


Supports multiple tags by operations

Supporting multiple tags for one operation

[x] Read CONTRIBUTING.md

Fixes #2262. We highly need it for Fuego 🙏🏼

I don't know why it fails on Angular but works for React, I didn't touch the framework part, only the core. Works locally too.
And I can't access CircleCI logs :/ This might be a one-time miss, can you re-run the tests please?

@lukasikp @darekplawecki is it possible to review if you have time, please?

Our team would also love for this feature to be merged.

This PR has very few lines and passes the tests.
It corrects an issue that have a few thumbs up and is very clear.
Is it possible to review it?  It should be quick and unlock a lot of people!
@mnaumanali94 @lukasikp @darekplawecki

Merged! Thanks for the PR!

Thanks for merging. I will update my PR as it is probably conflicting now.

Which one are you talking about @weyert ?

I'm guessing this one https://github.com/stoplightio/elements/pull/2603

This is not the same feature :)
What this feature means is to support the fact that an operation can have multiple tags. It's not the same as x-tagGroup

Right, different operations, but impacts the same code for display so they need to update their PR to account for the changes in this PR.

My bad I thought they wanted to close their PR, I'm just tired, sorry about that


vim-airline displays an error when used with vim-fugitive on Windows 11

environment

vim: Neovim 0.9.5
vim-airline: commit ff0f9a4
OS: Microsoft Windows 11 Home, Version 10.0.22635 Build 22635
Have you reproduced with a minimal vimrc: Using kickstart.nvim
What is your airline configuration: default

actual behavior
When adding the vim-fugitive plugin tpope/vim-fugitive to the plugin list, the following error is encountered:
Error detected while processing function airline#extensions#branch#get_head[1]..airline#extensions#branch#head[6]..<SNR>47_update_untracked[42]..airline#async#vcs_clean[6]..airline#async#nvim_vcs_clean:
line   24:                                                                                E475: Invalid value for argument cmd: '"C:\Program Files\Git\usr\bin\bash.exe"' is not executable

expected behavior
vim-airline should work properly with vim-fugitive installed, without any errors.
screen shot
Error

Git fugitive working as expected but with airline disabled

Airline working as expected but with fugitive disabled

vim-airline should work properly with vim-fugitive installed, without any errors.

It does, if you configure your shell properly

@abenteuerzeit what did you do to fix this issue?

You should configure your 'shell' settings properly.


Provide a 'default' task

So we can just run 'gulp' to have the most common task execute.

what should it do?


New version: DynamicalSystemsBase v3.2.3

Registering package: DynamicalSystemsBase
Repository: https://github.com/JuliaDynamics/DynamicalSystemsBase.jl
Created by: @Datseris
Version: v3.2.3
Commit: e1e1b13e6704bb41415ee1113c46b45b34771151
Git reference: HEAD
Description: Definition of dynamical systems and integrators for DynamicalSystems.jl

please close this.


Upgrade to JDK 8

openjdk.json is set to Java 7. Now Java 8 is there since a while.
which scoop command could I run to install the Java 8 version ? Is there a way to easily modify or update locally the config files ?
Thanks!

@mathieucarbou if you're wanting OpenJDK, then you can create the app manifest described in the wiki and issue a pull request. It's a really simple JSON file format - the wiki page has an example or just copy one out of the apps folder in your scoop directory and use that as a template.
If you want to go with the alternative, you can grab oraclejdk (1.8.0-u60) from the extras bucket.

Thank you @saildata, currently we are using the openjdk-unofficial-builds, however these have not been updated to support JDK 8, and it looks as if this may not happen for quite a while.
I just saw that someone mentioned that Zulu create JDK 8 builds, in the openjdk-unofficial-builds issues page. The developer of the unofficial build mentions that this may be more similar to Oracle JDK 8, than OpenJDK 8, but from my point of view it looks pretty good.

Zulu is a certified build of OpenJDK that is fully compliant with the Java SE standard. Zulu is 100% open source and freely downloadable.

I would update the manifest myself, but I have moved to Linux for the past six months, and do not have any Windows machines to test it on. Luckily it should be a pretty trivial update, but if we use the Zulu build of the OpenJDK, should we rename the package, or add an extra note so that it is obvious to people that it is not a pure OpenJDK build.

Awesome. I'm also a Linux native, and have used scoop for a while now since I multiboot for work.. I'm glad y'all are using OpenJDK, but wanted to provide the alternative if you were able to use either environment.

@scottwillmoore I've taken a look at using Azul's Zulu and it's going to take some shenanigans in order to get it work with Scoop. Azul is forbidding direct downloads to the link http://cdn.azulsystems.com/zulu/bin/zulu1.8.0_66-<IP_ADDRESS>-win64.zip unless the referrer is http://www.azul.com/downloads/zulu/zulu-windows/ But it also seems that the Referer header is also not enough as they seem to doing additional checks when the download link is clicked. This is all making the hassles of downloading Oracle's JDK much easier.

That complicates things! After a quick Google search I was able to find this post on their support forums. So apparently it is possible to do using metadata in the HTTP request.
Scoop does not currently support adding a referrer to the HTTP request, however in the past I added support for embdedding cookies into the HTTP request. You can see on this line how it is done,and in my pull request what other code I modified to make it work.
You could either implement support for including a referrer in the request, using the current syntax.
{
    "cookie": "COOKIE-NAME",
    "referrer": "REFERRAL-URL"
}

However we are currently hacking (hard coding) in modifications for every HTTP request metadata that we need to use (which currently is only Cookies, and Referrers, but may be more in the future). So maybe the syntax would be better like so. Which dynamically includes the http metadata which is found in the key-value list supplied (rather than the current method which hard codes these values into the specification). A downside to this approach is that it would break a very small number of manifests which already exist, which will need to be updated. The OracleJDK manifests are the only ones I know which require this feature.
{
    "request": {
        "Cookie": "COOKIE-NAME",
        "Referrer": "REFERRAL-URL"
    }
}

We should check what @lukesampson thinks about these changes.
If you implement these features please remeber to update the wiki page which documents what can be used in app manifests.
I apologise, I should be doing this myself, but as mentioned above I currently do use Windows anymore. Good luck.

Thanks guys. If anyone wants to submit a PR to include the referrer for HTTP requests then I'd be happy to merge it. The first syntax @scottwillmoore shows above is better I think—nicer to read and type, and doesn't break anything.

But wouldn't it be great if getting a binary for a JDK didn't involve these sorts of shenanigans? I'll give this a look in the next week or two. At the moment, my teams are fine with the Oracle JDK, but Azul's Zulu is a nice option. It's a a shame that it has the same hoops to jump through as the Oracle JDK.

The repo pointed to by openjdk.json [1] says "Project discontinued
This project is discontinued.
Up-to-date OpenJDK 8 binaries for Windows x86_64 are available in ojdkbuild [2] GitHub project."
However, the suggested repo ojdkbuild/ojdkbuild only provides x86_64 binaries.
Would a patch to change the formula for this be welcome, or should it maybe be a separate formula, or live in the scoopinstaller/versions ?
1: https://github.com/alexkasko/openjdk-unofficial-builds
2: https://github.com/ojdkbuild/ojdkbuild

I think leave openjdk.json using the current version since it supports x86 as well, but it probably would be useful to add a new manifest to the scoopinstaller/versions pointing to the ojdkbuild build. If ojdkbuild supports x86 at some point it can replace the main openjdk.
Lots of apps have a dependency on openjdk so we should replace that with oraclejdk, because it's probably what everyone uses anyway. I think it would be good to move oraclejdk to the main bucket, and remove the open-source requirement for the main bucket.

I think it would be good to move oraclejdk to the main bucket, and remove the open-source requirement for the main bucket.

I agree, especially given the pre-compiled nature of the buckets.

@lukesampson so would patches moving oraclejdk.json from lukesampson/extras into lukesampson/scoop be accepted, or would it be better to hold this off, and have some proper discussion/vote about" remove the open-source requirement for the main bucket" first?

@scottwillmoore @saildata @damnhandy do you have any objections to making Oracle JDK the "default" JDK, instead of Open JDK? Moving Oracle JDK from extras to the main bucket would mean we can use it as the dependency for Ant, Gradle, Grails, Groovy, Scala etc. The only downside I can think of is that there might be some confusion as people update.
@martinlindhe maybe give it a few days and if no one raises objections I'd be happy to accept your PRs.

Okay, sounds great

That is fine by me, it's probably what most people would prefer.

@lukesampson Honestly, I jumped in to lend a hand on this ticket because I had the time that day to answer. I don't develop or (use if I can help it) Java, so I say :+1: :shipit: and keep up the great work!
I've said it before and I still tell friends at work that when I boot Windows I can't work without Scoop. I guess now one could argue that the WSL tom foolery is a piece of Linux in Windows, but I haven't had a chance to mess with it. From what I understand it's not a first class citizen, so projects like Scoop are still vital to getting quick access to many developer tools on a Windows machine.


WslRegisterDistribution failed with error: 0x80040321

Windows Version
Microsoft Windows [Version 10.0.20348.2582]
WSL Version
WSL version: <IP_ADDRESS>
Are you using WSL 1 or WSL 2?

[X] WSL 2
[ ] WSL 1

Kernel Version
No response
Distro Version
No response
Other Software
No response
Repro Steps
Comand:
wsl --status
Result:
This application requires the Windows Subsystem for Linux Optional Component.
Install it by running: wsl.exe --install --no-distribution
The system may need to be restarted so the changes can take effect.
Error code: Wsl/WSL_E_WSL_OPTIONAL_COMPONENT_REQUIRED
Comand:
wsl --install
Result:
Ubuntu is already installed.
Launching Ubuntu...
Installing, this may take a few minutes...
WslRegisterDistribution failed with error: 0x80040321
Error: 0x80040321 (null)
Press any key to continue...
Expected Behavior
Ubuntu
Actual Behavior
WslRegisterDistribution failed with error: 0x80040321
Error: 0x80040321 (null)
Diagnostic Logs
WslLogs-2024-08-07_17-54-56.zip
WslLogs-2024-08-07_18-02-59.zip

I have Not found solution in similar issues

I have Not found solution in similar issues.
I found the problem. The WSL service must only be started as Local System, not by a specific username.
Now looking for a way to run WSL with Ubuntu after the signal out.

@Aroken: Does that mean that you changed the configuration of WslService to run as a local user ? If so this is expected, since that service indeed needs to run as system.


make the date formate right

experiment: ACCEPT by baidu and google after modified
Reference:
baidu
google
sitemap
bing
yandex

Coverage remained the same at 100.0% when pulling e034ce7b21cbc26aa5b332dacbf8baa048ac7855 on flashlab:patch-1 into 595a630074613658026600c327dd3798b32e0e38 on hexojs:master.


Adding a block does not respect latest cursor position

Checklist

[ ] This is not covered in the repository examples.
[X] I am using the package latest version.
[X] This is a bug report or an enhancement proposal.

Description
I implemented my own media-control according to atomic-custom-block example and realized, that new blocks are always added at the very first beginning of the text. Changing the cursor position does not effect the resulting block's position. Further investigation showed up that the resulting position is always where the text was last changed.
I also tested the example itself and this behaviour still occurs.

This is still happening in 2.0.1. My guess is the cursor is being reset when the editor loses focus. Is there a way to set the cursor position?

hi, I am experimenting with inserting text fields inline, like when you fill up a legal form and the inputs are mixed with the text. I also notice that inserting a custom block creates it in the beggining of the text, not where the cursor was. this issue is from 3 years ago.. I would like to confirm if the problem is still present or there is some workaround?


n_modes EOF issues

Describe the bug
I am running into some issues related to the n_modes parameter in fitting EOFs.
Reproducible Minimal Working Example
I am attempting to take EOFs of my DataArray ts using a weights array area.
import xeofs as xe

In [75]: ts?
Type:        DataArray
String form:
<xarray.DataArray (time: 123, box: 34)> Size: 33kB
           array([[-0.1  ,  0.058,  0.104, ...,  0.005, - <...> -30 ... 2018-11-30
           * box      (box) int64 272B 1 2 3 4 5 6 7 8 9 ... 26 27 28 29 30 31 32 33 34
Length:      123

In [77]: area?
Type:        DataArray
String form:
<xarray.DataArray 'area_km2' (box: 34)> Size: 272B
           array([338641.73888743,<PHONE_NUMBER>3538, 16355 <...> 586])
           Coordinates:
           * box      (box) int64 272B 1 2 3 4 5 6 7 8 9 ... 26 27 28 29 30 31 32 33 34
Length:      34

If I do not specify n_modes I get the following error:
In [79]: model = xe.single.EOF(ts, standardize=True, center=True)
In [80]: model.fit(ts, weights=area, dim="time")
---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
Cell In[80], line 1
----> 1 model.fit(ts, weights=area, dim="time")

File ~/miniconda3/envs/BINS/lib/python3.11/site-packages/xeofs/single/base_model_single_set.py:155, in BaseModelSingleSet.fit(self, X, dim, weights)
    150 # Preprocess the data & transform to 2D
    151 data2D: DataArray = self.preprocessor.fit_transform(
    152     X, self.sample_dims, weights
    153 )
--> 155 self._fit_algorithm(data2D)
    157 if self._params["compute"]:
    158     self.data.compute()

File ~/miniconda3/envs/BINS/lib/python3.11/site-packages/xeofs/single/eof.py:96, in EOF._fit_algorithm(self, X)
     93 total_variance = compute_total_variance(X, dim=sample_name)
     95 # Decompose the data
---> 96 decomposer = Decomposer(**self._decomposer_kwargs)
     97 decomposer.fit(X, dims=(sample_name, feature_name))
     99 singular_values = decomposer.s_

File ~/miniconda3/envs/BINS/lib/python3.11/site-packages/xeofs/linalg/decomposer.py:57, in Decomposer.__init__(self, n_modes, init_rank_reduction, flip_signs, compute, solver, random_state, component_dim_name, solver_kwargs)
     46 def __init__(
     47     self,
     48     n_modes: int | float,
   (...)
     55     solver_kwargs: dict = {},
     56 ):
---> 57     sanity_check_n_modes(n_modes)
     58     self.is_based_on_variance = False if isinstance(n_modes, int) else True
     60     if self.is_based_on_variance:

File ~/miniconda3/envs/BINS/lib/python3.11/site-packages/xeofs/utils/sanity_checks.py:119, in sanity_check_n_modes(n_modes)
    117         raise ValueError("If string, n_modes must be 'all'")
    118 case _:
--> 119     raise TypeError("n_modes must be an integer, float or string.")

TypeError: n_modes must be an integer, float or string.

Expected behavior
My understanding from the documentation is that n_modes has a default value.
Additionally, when I do specify n_modes, I get a different error :
In [10]: model = xe.single.EOF(ts, standardize=True, center=True, n_modes=4)
---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
Cell In[10], line 1
----> 1 model = xe.single.EOF(ts, standardize=True, center=True, n_modes=4)

TypeError: EOF.__init__() got multiple values for argument 'n_modes'

Desktop (please complete the following information):

python (3.11.10)
xarray (2024.9.0)
xeofs (3.0.2)

The problem is that the model constructors don't take the data, that only get's provided to .fit. Your array ts is getting picked up as the first argument in the init method which is n_modes.
This matches the sklearn API, except I see they use keyword-only args in the init method to prevent this confusion. We could easily do that as well although it would be a breaking change.

It's not a workaround, just don't pass the data to the class init:
model = xe.single.EOF(n_modes=4, standardize=True, center=True) # < don't pass ts here
model.fit(ts, weights=area, dim="time")

Thanks!


Linux - Not working

Environment

Solus OS
Discord Stable Oct. 16. 2018

Problem
Since the last update, Better Discord no longer works on Linux.... Can you patch this problem?
What I did ?
I tried to update betterdiscord but it didn't work. I also downloaded the new version but I didn't find how to install it on Linux
Screen
http://tinyimg.io/i/Cn0aEY1.png

I figured out how to patch the problem.
I reinstalled discord and launched
betterdiscordctl update -s /usr/share -v -v

betterdiscordctl update -s /usr/share -v -v does indeed update, but on my end none of the BD menu options work, Themes, Plugins, Core, etc.

@onedementedsmurf Your issue is related to the currently open issue #80


Dependent Operators(Serverless/ServiceMesh) Manifests Delivery Method

/kind feature
Describe the solution you'd like
Dependent operators will be installed by users and they will follow a document. We need to work with the doc team member(John Byrne).
Target operators:

Serverless
Service Mesh 2.0

Anything else you would like to add:

cc @jbyrne-redhat

PR: https://github.com/opendatahub-io/opendatahub-operator/pull/691
DOC: KServe install of dependencies

Doc included this operation installation part so I will close this ticket.


Force formatter output to stdout

Being able to pass a command line parameter to spit out the formatted code to STDOUT, much like clang-format, would be very helpful for formatter and formatter-crystal.

I don't know if it's of any help, but if you do crystal tool format - then the input is STDIN and the output is STDOUT. We use this in the sublime-crystal plugin. I guess we should also have a way to force output on STDOUT...

Oh that's perfect actually. Beautiful. Thanks!

Let's keep this open, an option to force stdout would indeed be quite useful.

#1874 was an implementation and got closed because there was no practical use case. Here, the code formatter for Atom is mentioned (new link: atom-crystal/atom-crystal). Though I am not sure if the use case is still justified.
If so, #1874 (or a new PR) should be reopened. Otherwise, this can be closed.

The current options are either run the formatter on a bunch of files/directories or pipe from STDIN to STDOUT. That should be sufficient. If you want to get the formatter output of a file on STDOUT, you just pipe the content of the file to STDIN.
A possible improvement to that would be to make --stdin-filename work with the formatter.


Please add university Khmelnytsky National University

site university - https://www.khnu.km.ua/root/page.aspx

@xzartsust Pull request merged. Thank you!