text:
Load extensions using ExtensionLoader

Initially there was not an extensions.sh script associated with this pull request. The following text describes the manual commands which had to be performed at that time. Now all that stuff is in the file. Text kept for continuity.
The steps added to README.md load extensions to MediaWiki using the ExtensionLoader extension which I've been working on. At this time these steps do not load any extensions managed by Composer. Additionally, I've commented out any extensions which rely heavily on SMW, since it is managed by Composer and is not present.
Below is a description of each non-trivial line added:
cat ~/sources/meza1/client_files/LocalSettingsAdditions >> ./LocalSettings.php

Append some basic settings to LocalSettings.php. These were things that were present in our EVA wiki settings and seemed like a good idea to include. The LocalSettingsAdditions file has been added to Meza1.
cat ./extensions/ExtensionLoader/LocalSettings-append >> ./LocalSettings.php

Append the code required to load ExtensionLoader. It's more complicated than just doing a "require_once" for the extension due to the way extensions are loaded prior to MW 1.25. Once MW 1.25 is the oldest supported version (some years from now) this will be able to be cleaned up substantially.
cp ~/sources/meza1/client_files/ExtensionSettings.php ./ExtensionSettings.php

Copy the Meza1 ExtensionSettings.php file to the MediaWiki root. This file is based upon what is currently present on the EVA wiki.
php extensions/ExtensionLoader/updateExtensions.php

Update extensions using the updateExtensions.php maintenance script, pulling info from ExtensionSettings.php.
php maintenance/update.php --quick

Update the database using MediaWiki's update.php script.

Updated description (first comment) to address the fact that the "LocalSettingsAdditions" and "ExtensionSettings.php" files are now included in Meza1 rather than in ExtensionLoader (which made no sense).

Moved all the commands into an extensions.sh script. This is much cleaner...testing now.

Test complete. Only failure is a PHP Fatal Error during import of pages for SemanticMeetingMinutes:

PHP Fatal error:  Call to a member function getNamespace() on a non-object in /var/www/meza1/htdocs/wiki/extensions/ApprovedRevs/includes/ApprovedRevs_body.php on line 536

This has something to do with $wgTitle not being defined, which I'm not sure if that's due to changes in MW ($wgTitle is deprecated, but not removed) or is just an unnoticed issue with the ApprovedRevs fork we use. Either way, it's an ApprovedRevs issue which I will figure out.
I have not tested the functionality of the extensions or the wiki as a whole, but I recommend merging this pull request to simplify those processes going forward.

I completed extensions.sh with the same results (PHP error on ApprovedRevs_body.php line 536). I have not tested functionality of any extensions.


text:
failing trying to build envoy with bazel

If you are reporting any crash or any potential security issue, do not
open an issue in this repo. Please report the issue via emailing
envoy-security@googlegroups.com where the issue will be triaged appropriately.
Title: One line description
Description:
A few months ago I built envoy with bazel successfully.
Now I tried several times, but every build ends with same error:

[optional Relevant Links:]
root@vm-env:~# uname -a
Linux vm-env 5.4.0-99-generic #112-Ubuntu SMP Thu Feb 3 13:50:55 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux
root@vm-env:~ # gcc --version
gcc (Ubuntu 9.4.0-1ubuntu1~20.04.1) 9.4.0
Copyright (C) 2019 Free Software Foundation, Inc.

additional:
I'm cloning main branch of envoy repository and do all steps from bazel/README.md

root@vm-env:~/envoy# cat VERSION.txt
1.23.0-dev

hi @shavros please post actual log not screenshots - use ``` to mark code-blocks

could you also post the exact command that fails

command that fails:
bazel build envoy
log:
ERROR: /root/envoy/source/common/quic/BUILD:165:17: Compiling source/common/quic/client_connection_factory_impl.cc failed: (Exit 1): gcc failed: error executing command (from target //source/common/quic:client_connection_factory_lib) /usr/bin/gcc -U_FORTIFY_SOURCE -fstack-protector -Wall -Wunused-but-set-parameter -Wno-free-nonheap-object -fno-omit-frame-pointer '-std=c++0x' -MD -MF ... (remaining 188 arguments skipped)

Use --sandbox_debug to see verbose messages from the sandbox
gcc: fatal error: Killed signal terminated program cc1plus
compilation terminated.
Target //source/exe:envoy-static failed to build
Use --verbose_failures to see the command lines of failed build steps.
INFO: Elapsed time: 355.748s, Critical Path: 56.13s
INFO: 54 processes: 4 internal, 50 linux-sandbox.
FAILED: Build did NOT complete successfully

Could you add --sandbox_debug to share more details?

Have you tried to build envoy with docker container using ENVOY_DOCKER_BUILD_DIR=~/build ./ci/run_envoy_docker.sh './ci/do_ci.sh bazel.debug.server_only'

@daixiang0 logs with --sandbox-debug flag:
ERROR: /root/envoy/source/common/upstream/BUILD:77:17: Compiling source/common/upstream/cluster_manager_impl.cc failed: (Exit 1): linux-sandbox failed: error executing command
  (cd /root/.cache/bazel/_bazel_root/4e47b77d977b209382cf04b3ae32963e/sandbox/linux-sandbox/6800/execroot/envoy && \
  exec env - \
    BAZEL_LINKLIBS=-l%:libstdc++.a \
    BAZEL_LINKOPTS=-lm \
    PATH=/root/.cache/bazelisk/downloads/bazelbuild/bazel-6.0.0-pre.20220421.3-linux-x86_64/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin \
    PWD=/proc/self/cwd \
    TMPDIR=/tmp \
  /root/.cache/bazel/_bazel_root/install/105cdae8e95eaae9b55d5e684bad8944/linux-sandbox -t 15 -w /root/.cache/bazel/_bazel_root/4e47b77d977b209382cf04b3ae32963e/sandbox/linux-sandbox/6800/execroot/envoy -w /tmp -w /dev/shm -D -- /usr/bin/gcc -U_FORTIFY_SOURCE -fstack-protector -Wall -Wunused-but-set-parameter -Wno-free-nonheap-object -fno-omit-frame-pointer '-std=c++0x' -MD -MF bazel-out/k8-fastbuild/bin/source/common/upstream/_objs/cluster_manager_lib/cluster_manager_impl.pic.d '-frandom-seed=bazel-out/k8-fastbuild/bin/source/common/upstream/_objs/cluster_manager_lib/cluster_manager_impl.pic.o' -fPIC -DFMT_HEADER_ONLY -DSPDLOG_FMT_EXTERNAL -DNGHTTP2_STATICLIB -DCARES_STATICLIB '-DGRPC_XDS_USER_AGENT_SUFFIX=C++' -iquote . -iquote bazel-out/k8-fastbuild/bin -iquote external/com_google_absl -iquote bazel-out/k8-fastbuild/bin/external/com_google_absl -iquote external/com_github_fmtlib_fmt -iquote bazel-out/k8-fastbuild/bin/external/com_github_fmtlib_fmt -iquote external/envoy_api -iquote bazel-out/k8-fastbuild/bin/external/envoy_api -iquote external/com_google_googleapis -iquote bazel-out/k8-fastbuild/bin/external/com_google_googleapis -iquote external/com_google_protobuf -iquote bazel-out/k8-fastbuild/bin/external/com_google_protobuf -iquote external/com_envoyproxy_protoc_gen_validate -iquote bazel-out/k8-fastbuild/bin/external/com_envoyproxy_protoc_gen_validate -iquote external/com_googlesource_code_re2 -iquote bazel-out/k8-fastbuild/bin/external/com_googlesource_code_re2 -iquote external/com_github_cncf_udpa -iquote bazel-out/k8-fastbuild/bin/external/com_github_cncf_udpa -iquote external/opencensus_proto -iquote bazel-out/k8-fastbuild/bin/external/opencensus_proto -iquote external/com_github_gabime_spdlog -iquote bazel-out/k8-fastbuild/bin/external/com_github_gabime_spdlog -iquote external/com_github_cyan4973_xxhash -iquote bazel-out/k8-fastbuild/bin/external/com_github_cyan4973_xxhash -iquote external/com_github_jbeder_yaml_cpp -iquote bazel-out/k8-fastbuild/bin/external/com_github_jbeder_yaml_cpp -iquote external/boringssl -iquote bazel-out/k8-fastbuild/bin/external/boringssl -iquote external/envoy -iquote bazel-out/k8-fastbuild/bin/external/envoy -iquote external/com_googlesource_googleurl -iquote bazel-out/k8-fastbuild/bin/external/com_googlesource_googleurl -iquote external/com_github_circonus_labs_libcircllhist -iquote bazel-out/k8-fastbuild/bin/external/com_github_circonus_labs_libcircllhist -iquote external/com_github_nlohmann_json -iquote bazel-out/k8-fastbuild/bin/external/com_github_nlohmann_json -iquote external/com_github_google_tcmalloc -iquote bazel-out/k8-fastbuild/bin/external/com_github_google_tcmalloc -iquote external/com_github_google_quiche -iquote bazel-out/k8-fastbuild/bin/external/com_github_google_quiche -iquote external/com_github_grpc_grpc -iquote bazel-out/k8-fastbuild/bin/external/com_github_grpc_grpc -iquote external/upb -iquote bazel-out/k8-fastbuild/bin/external/upb -Ibazel-out/k8-fastbuild/bin/external/com_google_protobuf/_virtual_includes/any_proto -Ibazel-out/k8-fastbuild/bin/external/com_google_protobuf/_virtual_includes/descriptor_proto -Ibazel-out/k8-fastbuild/bin/external/com_google_protobuf/_virtual_includes/duration_proto -Ibazel-out/k8-fastbuild/bin/external/com_google_protobuf/_virtual_includes/empty_proto -Ibazel-out/k8-fastbuild/bin/external/com_google_protobuf/_virtual_includes/struct_proto -Ibazel-out/k8-fastbuild/bin/external/com_google_protobuf/_virtual_includes/timestamp_proto -Ibazel-out/k8-fastbuild/bin/external/com_google_protobuf/_virtual_includes/wrappers_proto -Ibazel-out/k8-fastbuild/bin/source/common/common/_virtual_includes/logger_impl_lib_standard -Ibazel-out/k8-fastbuild/bin/source/common/common/_virtual_includes/thread_impl_lib_posix -Ibazel-out/k8-fastbuild/bin/source/common/api/_virtual_includes/os_sys_calls_lib -Ibazel-out/k8-fastbuild/bin/source/common/event/_virtual_includes/dispatcher_lib -Ibazel-out/k8-fastbuild/bin/source/common/event/_virtual_includes/signal_impl_lib_posix -Ibazel-out/k8-fastbuild/bin/source/common/filesystem/_virtual_includes/watcher_lib -Ibazel-out/k8-fastbuild/bin/source/common/quic/platform/_virtual_includes/quiche_export_impl_lib -Ibazel-out/k8-fastbuild/bin/source/common/quic/platform/_virtual_includes/quiche_logging_impl_lib -Ibazel-out/k8-fastbuild/bin/external/com_github_google_quiche/_virtual_includes/quiche_common_platform_default_quiche_platform_impl_command_line_flags_impl_lib -Ibazel-out/k8-fastbuild/bin/external/com_github_google_quiche/_virtual_includes/quiche_common_platform_default_quiche_platform_impl_flag_utils_impl_lib -Ibazel-out/k8-fastbuild/bin/external/com_github_google_quiche/_virtual_includes/quiche_common_platform_default_quiche_platform_impl_reference_counted_impl_lib -Ibazel-out/k8-fastbuild/bin/external/com_github_google_quiche/_virtual_includes/quiche_common_platform_default_quiche_platform_impl_testvalue_impl_lib -Ibazel-out/k8-fastbuild/bin/external/com_github_google_quiche/_virtual_includes/quiche_common_platform_default_quiche_platform_impl_thread_local_impl_lib -Ibazel-out/k8-fastbuild/bin/external/com_github_google_quiche/_virtual_includes/quiche_common_platform_default_quiche_platform_impl_time_utils_impl_lib -Ibazel-out/k8-fastbuild/bin/external/com_github_google_quiche/_virtual_includes/quiche_common_platform_default_quiche_platform_impl_prefetch_impl_lib -Ibazel-out/k8-fastbuild/bin/source/common/quic/platform/_virtual_includes/quic_base_impl_lib -Ibazel-out/k8-fastbuild/bin/source/common/quic/platform/_virtual_includes/quiche_flags_impl_lib -Ibazel-out/k8-fastbuild/bin/source/common/quic/platform/_virtual_includes/quiche_mem_slice_impl_lib -Ibazel-out/k8-fastbuild/bin/source/common/quic/platform/_virtual_includes/quiche_platform_iovec_impl_lib -Ibazel-out/k8-fastbuild/bin/external/com_github_google_quiche/_virtual_includes/quiche_common_platform_default_quiche_platform_impl_server_stats_impl_lib -Ibazel-out/k8-fastbuild/bin/source/common/quic/platform/_virtual_includes/quiche_stack_trace_impl_lib -Ibazel-out/k8-fastbuild/bin/external/com_github_google_quiche/_virtual_includes/quiche_common_platform_default_quiche_platform_impl_client_stats_impl_lib -Ibazel-out/k8-fastbuild/bin/external/com_github_google_quiche/_virtual_includes/quiche_common_platform_default_quiche_platform_impl_mutex_impl_lib -Ibazel-out/k8-fastbuild/bin/external/com_github_google_quiche/_virtual_includes/quiche_common_platform_default_quiche_platform_impl_containers_impl_lib -Ibazel-out/k8-fastbuild/bin/source/common/filesystem/_virtual_includes/directory_iterator_impl_lib_posix -isystem external/com_github_fmtlib_fmt/include -isystem bazel-out/k8-fastbuild/bin/external/com_github_fmtlib_fmt/include -isystem external/com_google_protobuf/src -isystem bazel-out/k8-fastbuild/bin/external/com_google_protobuf/src -isystem bazel-out/k8-fastbuild/bin/external/envoy/bazel/foreign_cc/zlib/include -isystem external/com_github_gabime_spdlog/include -isystem bazel-out/k8-fastbuild/bin/external/com_github_gabime_spdlog/include -isystem external/com_github_jbeder_yaml_cpp/include -isystem bazel-out/k8-fastbuild/bin/external/com_github_jbeder_yaml_cpp/include -isystem external/boringssl/src/include -isystem bazel-out/k8-fastbuild/bin/external/boringssl/src/include -isystem bazel-out/k8-fastbuild/bin/external/envoy/bazel/foreign_cc/event/include -isystem external/envoy/bazel/external/http_parser -isystem bazel-out/k8-fastbuild/bin/external/envoy/bazel/external/http_parser -isystem bazel-out/k8-fastbuild/bin/external/envoy/bazel/foreign_cc/nghttp2/include -isystem external/com_github_circonus_labs_libcircllhist/src -isystem bazel-out/k8-fastbuild/bin/external/com_github_circonus_labs_libcircllhist/src -isystem external/com_github_nlohmann_json/include -isystem bazel-out/k8-fastbuild/bin/external/com_github_nlohmann_json/include -isystem external/com_github_nlohmann_json/external/nlohmann_json_lib -isystem bazel-out/k8-fastbuild/bin/external/com_github_nlohmann_json/external/nlohmann_json_lib -isystem external/com_github_grpc_grpc/include -isystem bazel-out/k8-fastbuild/bin/external/com_github_grpc_grpc/include -isystem external/com_github_grpc_grpc/src/core/ext/upb-generated -isystem bazel-out/k8-fastbuild/bin/external/com_github_grpc_grpc/src/core/ext/upb-generated -isystem external/com_github_grpc_grpc/src/core/ext/upbdefs-generated -isystem bazel-out/k8-fastbuild/bin/external/com_github_grpc_grpc/src/core/ext/upbdefs-generated -isystem external/com_github_grpc_grpc/third_party/xxhash -isystem bazel-out/k8-fastbuild/bin/external/com_github_grpc_grpc/third_party/xxhash -isystem bazel-out/k8-fastbuild/bin/external/envoy/bazel/foreign_cc/ares/include -isystem external/com_github_grpc_grpc/third_party/address_sorting/include -isystem bazel-out/k8-fastbuild/bin/external/com_github_grpc_grpc/third_party/address_sorting/include '-DABSL_MIN_LOG_LEVEL=4' -fPIC -Wno-deprecated-declarations '-std=c++17' -Wall -Wextra -Werror -Wnon-virtual-dtor -Woverloaded-virtual -Wold-style-cast -Wformat -Wformat-security -Wvla -Wno-deprecated-declarations -Wreturn-type -Wno-maybe-uninitialized -DTCMALLOC -DENVOY_HANDLE_SIGNALS -DENVOY_OBJECT_TRACE_ON_DUMP -DENVOY_HOT_RESTART -DENVOY_ADMIN_HTML -DENVOY_ENABLE_QUIC -DENVOY_GOOGLE_GRPC -fno-canonical-system-headers -Wno-builtin-macro-redefined '-D__DATE__="redacted"' '-D__TIMESTAMP__="redacted"' '-D__TIME__="redacted"' -c source/common/upstream/cluster_manager_impl.cc -o bazel-out/k8-fastbuild/bin/source/common/upstream/_objs/cluster_manager_lib/cluster_manager_impl.pic.o)
1657015124.484269664: src/main/tools/linux-sandbox.cc:152: calling pipe(2)...
1657015124.484296388: src/main/tools/linux-sandbox.cc:171: calling clone(2)...
1657015124.484462901: src/main/tools/linux-sandbox.cc:180: linux-sandbox-pid1 has PID 54329
1657015124.484500804: src/main/tools/linux-sandbox-pid1.cc:641: Pid1Main started
1657015124.484558133: src/main/tools/linux-sandbox.cc:197: done manipulating pipes
1657015124.484663693: src/main/tools/linux-sandbox-pid1.cc:260: working dir: /root/.cache/bazel/_bazel_root/4e47b77d977b209382cf04b3ae32963e/sandbox/linux-sandbox/6800/execroot/envoy
1657015124.484672452: src/main/tools/linux-sandbox-pid1.cc:292: writable: /root/.cache/bazel/_bazel_root/4e47b77d977b209382cf04b3ae32963e/sandbox/linux-sandbox/6800/execroot/envoy
1657015124.484677476: src/main/tools/linux-sandbox-pid1.cc:292: writable: /tmp
1657015124.484681760: src/main/tools/linux-sandbox-pid1.cc:292: writable: /dev/shm
1657015124.484733516: src/main/tools/linux-sandbox-pid1.cc:362: remount ro: /
1657015124.484739069: src/main/tools/linux-sandbox-pid1.cc:362: remount ro: /dev
1657015124.484742913: src/main/tools/linux-sandbox-pid1.cc:362: remount ro: /dev/pts
1657015124.484746676: src/main/tools/linux-sandbox-pid1.cc:362: remount rw: /dev/shm
1657015124.484750127: src/main/tools/linux-sandbox-pid1.cc:362: remount ro: /dev/hugepages
1657015124.484753830: src/main/tools/linux-sandbox-pid1.cc:362: remount ro: /dev/mqueue
1657015124.484757726: src/main/tools/linux-sandbox-pid1.cc:362: remount ro: /run
1657015124.484761113: src/main/tools/linux-sandbox-pid1.cc:362: remount ro: /run/lock
1657015124.484764815: src/main/tools/linux-sandbox-pid1.cc:362: remount ro: /run/user/0
1657015124.484768810: src/main/tools/linux-sandbox-pid1.cc:362: remount ro: /sys
1657015124.484772088: src/main/tools/linux-sandbox-pid1.cc:362: remount ro: /sys/kernel/security
1657015124.484777149: src/main/tools/linux-sandbox-pid1.cc:362: remount ro: /sys/fs/cgroup
1657015124.484781624: src/main/tools/linux-sandbox-pid1.cc:362: remount ro: /sys/fs/cgroup/unified
1657015124.484785513: src/main/tools/linux-sandbox-pid1.cc:362: remount ro: /sys/fs/cgroup/systemd
1657015124.484810987: src/main/tools/linux-sandbox-pid1.cc:362: remount ro: /sys/fs/cgroup/pids
1657015124.484814680: src/main/tools/linux-sandbox-pid1.cc:362: remount ro: /sys/fs/cgroup/freezer
1657015124.484818477: src/main/tools/linux-sandbox-pid1.cc:362: remount ro: /sys/fs/cgroup/net_cls,net_prio
1657015124.484822236: src/main/tools/linux-sandbox-pid1.cc:362: remount ro: /sys/fs/cgroup/perf_event
1657015124.484825748: src/main/tools/linux-sandbox-pid1.cc:362: remount ro: /sys/fs/cgroup/memory
1657015124.484829209: src/main/tools/linux-sandbox-pid1.cc:362: remount ro: /sys/fs/cgroup/cpuset
1657015124.484832607: src/main/tools/linux-sandbox-pid1.cc:362: remount ro: /sys/fs/cgroup/devices
1657015124.484836055: src/main/tools/linux-sandbox-pid1.cc:362: remount ro: /sys/fs/cgroup/cpu,cpuacct
1657015124.484839801: src/main/tools/linux-sandbox-pid1.cc:362: remount ro: /sys/fs/cgroup/rdma
1657015124.484843232: src/main/tools/linux-sandbox-pid1.cc:362: remount ro: /sys/fs/cgroup/hugetlb
1657015124.484846884: src/main/tools/linux-sandbox-pid1.cc:362: remount ro: /sys/fs/cgroup/blkio
1657015124.484850442: src/main/tools/linux-sandbox-pid1.cc:362: remount ro: /sys/fs/pstore
1657015124.484854186: src/main/tools/linux-sandbox-pid1.cc:362: remount ro: /sys/fs/bpf
1657015124.484869560: src/main/tools/linux-sandbox-pid1.cc:362: remount ro: /sys/kernel/debug
1657015124.484873317: src/main/tools/linux-sandbox-pid1.cc:362: remount ro: /sys/kernel/tracing
1657015124.484876935: src/main/tools/linux-sandbox-pid1.cc:362: remount ro: /sys/fs/fuse/connections
1657015124.484881169: src/main/tools/linux-sandbox-pid1.cc:362: remount ro: /sys/kernel/config
1657015124.484885051: src/main/tools/linux-sandbox-pid1.cc:362: remount ro: /proc
1657015124.484888868: src/main/tools/linux-sandbox-pid1.cc:362: remount ro: /proc/sys/fs/binfmt_misc
1657015124.484896052: src/main/tools/linux-sandbox-pid1.cc:362: remount rw: /root/.cache/bazel/_bazel_root/4e47b77d977b209382cf04b3ae32963e/sandbox/linux-sandbox/6800/execroot/envoy
1657015124.484904745: src/main/tools/linux-sandbox-pid1.cc:362: remount rw: /root/.cache/bazel/_bazel_root/4e47b77d977b209382cf04b3ae32963e/sandbox/linux-sandbox/6800/execroot/envoy
1657015124.484908379: src/main/tools/linux-sandbox-pid1.cc:362: remount rw: /tmp
1657015124.484911704: src/main/tools/linux-sandbox-pid1.cc:362: remount rw: /dev/shm
1657015124.484924978: src/main/tools/linux-sandbox-pid1.cc:451: calling fork...
1657015124.485020517: src/main/tools/linux-sandbox-pid1.cc:481: child started with PID 2
gcc: fatal error: Killed signal terminated program cc1plus
compilation terminated.
1657015152.653065687: src/main/tools/linux-sandbox-pid1.cc:498: wait returned pid=2, status=0x100
1657015152.653078025: src/main/tools/linux-sandbox-pid1.cc:516: child exited normally with code 1
1657015152.670718058: src/main/tools/linux-sandbox.cc:233: child exited normally with code 1
Target //source/exe:envoy-static failed to build
Use --verbose_failures to see the command lines of failed build steps.
INFO: Elapsed time: 7193.908s, Critical Path: 56.06s
INFO: 8948 processes: 2149 internal, 6797 linux-sandbox, 1 local, 1 worker.
FAILED: Build did NOT complete successfully

source: gharchive/issue

authors: bryanwux daixiang0 phlax shavros

repo: envoyproxy/envoy

license_type: permissive

license_source: github-api


text:
test: Split huge monolith mock header to speed up test compilation

Signed-off-by: Muge Chen mugechen@google.com
Commit Message: breakdown test/mocks/upstream/mocks.h into different mock classes
Additional Description:  test/mocks/upstream/mocks.h is a wide-used mock header included by various test files. However it's very huge and most test files only used a small portion of it. Splitting it up into different mock classes will be helpful to reduce compilation time. (similar to #11797 )
Risk Level: low
Testing: existing tests
Docs Changes: N/A
Release Notes: no
Related Issues: #10917

\cc @ahedberg @bbarenblat

@junr03 can you take a look at this as non-Googler? Thanks!

@junr03 can you take a look at this as non-Googler? Thanks!

Yep, will take a look with fresh eyes on monday

Friendly ping @junr03

Thanks for your patience, specially because reviewing this PR is actually not time consuming.
One question: is the intention to break apart the mock target here, and then update usage in a subsequent PR? Is that why this PR still has the massive target that now includes all the broken up targets?
One request: can you update the title of the PR to mention that this is for the upstream mocks, similar to how we did for the header inclusion reduction PRs?
Thanks!

Yes I will then update usage in subsequent PRs.
The title has been changed, thanks for your suggestion.

source: gharchive/pull-request

authors: foreseeable htuch junr03


text:
docs/ci: Update config validation

Signed-off-by: Ryan Northey ryan@synca.io
Commit Message: docs/ci: Update config validation
Additional Description:

some config snippets in docs were separated from .rst files, some of these can be checked with config validation (with some small modifications). Some fail - so will follow up in subsequent PR to address failing configs
use glob/exclusions for matching config files in examples/BUILD
remove verify_build_configs as configs are found dynamically
cleanup indentation on docs configs

Risk Level: low
Testing: yep
Docs Changes:
Release Notes:
[Optional Runtime guard:]
[Optional Fixes #Issue]
[Optional Deprecated:]

/retest-circle

docs are here:
https://387472-65214191-gh.circle-artifacts.com/0/generated/docs/index.html


text:
Re-enables the HTTP/2 wrapper API by default.

Signed-off-by: Biren Roy birenroy@google.com
The upstream fix in QUICHE for issue #19761 has been committed upstream in QUICHE, and imported into Envoy:
https://github.com/google/quiche/commit/d61b5924cfbacd4d588aab04ef0789fd01cbfea1
https://github.com/envoyproxy/envoy/commit/9280b5106dc6f2b8e2a80680d710903c74f9758b
Adds the necessary stream listener callback when instantiating a http2::adapter::NgHttp2Adapter.
Reverts commit #20530
Commit Message: Re-enables the HTTP/2 wrapper API by default. The issue in QUICHE has been fixed upstream.
Additional Description:
Risk Level: high
Testing:
Docs Changes:
Release Notes: re-enables the HTTP/2 wrapper API. This should be a transparent change that does not affect functionality. Any behavior changes can be reverted by setting the envoy.reloadable_features.http2_new_codec_wrapper runtime feature to false.
Platform Specific Features:

/assign @alyssawilk
@diannahu FYI

/assign @diannahu
To be sure I'm using the new CallbackVisitor method correctly. :)

mind updating PR description?
Fixes commit is for a PR which fixes a buggy commit. This is reenabling a feature so IMO that field doesn't apply. risk is high, etc.

Done.

Thanks for including me and LGTM - the CallbackVisitor method usage looks right to me!

FYI, this needs https://github.com/envoyproxy/envoy/pull/20653 to be merged upstream first, to fix the test failures.

CI is clean. Please merge! Thanks.

authors: birenroy diannahu


text:
remove envoy_reloadable_features_skip_delay_close

Signed-off-by: Loong loong.dai@intel.com
Fix https://github.com/envoyproxy/envoy/issues/23601
Risk Level: Low
Release Notes: Yes
Platform Specific Features:
[Optional Runtime guard:]
[Optional Fixes #Issue] https://github.com/envoyproxy/envoy/issues/23601
[Optional Fixes commit #PR or SHA]
[Optional Deprecated:]
[Optional API Considerations:]

/assign @alyssawilk
As original author of change

Thanks for trying to clean this up, but the associated issue is assigned to me, and I had not not yet tackled it because there is a known blocker to removal. I'll be sure to get to it when it's safe to do so, but as mentioned last release cycle please don't pick these up unless they're assigned your way as it often results in duplicate effort.

authors: KBaichoo alyssawilk daixiang0


text:
kafka: fetch request

Commit Message: kafka: add Fetch request handling
Additional Description: Fetch request represents a single request coming from downstream clients "please give me records for partitions p1, p2, ... pN". In our implementation this will mean we will ask SharedConsumerManager to process our request (== fill it with records, if any stored; register as callback if nothing). When our processing is finished (which can happen in one of two ways: record times out (no records!) / stuff got provided (either initial seeding or by SCM's consumer workers), we finally let the filter/dispatcher know we are ready to go downstream. Part of https://github.com/envoyproxy/envoy/issues/24372.
Risk Level: Low
Testing: unit tests, integration tests with full stack
Docs Changes: N/A
Release Notes: N/A
Platform Specific Features: N/A

draft: I left some debugs in and need to write some UTs

On holidays until mid-Jan, so don't get angry with me, repokitteh ;)

/assign @mattklein123

Thank you!


text:
[balsa] Disallow CR not followed by LF in header values.

Commit Message: [balsa] Disallow CR not followed by LF in header values.
Additional Description: This makes the behavior of BalsaParser consistent with that of http-parser.
Risk Level: low
Testing: //test/common/http/http1:codec_impl_test
Docs Changes: n/a
Release Notes: n/a
Platform Specific Features: n/a

/retest

/assign @yanavlasov

/retest


text:
original_ip_detection: revert unintended XFF header appending behavior in CustomHeaderIPDetection

Description
This PR restores the original behavior prior to #31831, by explicitly setting skip_xff_append to true, as appending the XFF header from the custom header extension is not required.
See #37171 for more details.

Commit Message: original_ip_detection: revert unintended XFF header appending behavior in CustomHeaderIPDetection
Additional Description: This PR restores the pre #31831 behavior by explicitly setting skip_xff_append to true, as appending the XFF header from the custom header extension is not required.
Risk Level: Low
Testing: Added Unit Tests
Docs Changes: N/A
Release Notes: Added

I think something is wrong with this PR. It contains 290 commits and 1,278 changed files (including lots of merge conflicts). In the current state, I can't review it.

I think something is wrong with this PR. It contains 290 commits and 1,278 changed files (including lots of merge conflicts). In the current state, I can't review it.

Sorry, was tracking main. Fixed it to track from the correct branch.

/assign @wbpcode

LGTM to the code and backport. But the status of PR is weird.

cc @phlax could you take a look at this when you get some free time? Thanks.

authors: RyanTheOptimist agrawroh soulxu wbpcode


text:
Renaming message types in hds.proto to improve readability

Renaming message types in api/envoy/service/discovery/v2/hds.proto to improve readability
Risk Level:
Low
This is for https://github.com/envoyproxy/envoy/issues/1310.

It shouldn't be a breaking change. I think I'm the only one using these messages at the moment.


text:
grpc-json transcoder: add integration test

Signed-off-by: Xuyang Tao taoxuy@google.com
Description:
Add the integration tests for

https://github.com/cloudendpoints/esp/blob/master/src/nginx/t/transcoding_ignore_unknown_fields.t
https://github.com/cloudendpoints/esp/blob/master/src/nginx/t/transcoding_large.t
https://github.com/cloudendpoints/esp/blob/master/src/nginx/t/transcoding_deep_struct.t
https://github.com/cloudendpoints/esp/blob/master/src/nginx/t/transcoding_errors.t
https://github.com/cloudendpoints/esp/blob/master/src/nginx/t/transcoding_query_params.t
https://github.com/cloudendpoints/esp/blob/master/src/nginx/t/transcoding_utf8.t

Risk Level:
Low.
Testing:
All are tests.
Docs Changes:
Release Notes:
[Optional Fixes #Issue]
[Optional Deprecated:]

LGTM

debug2.out is NOT removed.  It is still there.

LGTM

PTAL, @lizan . I replaced one jsonStr-generate function using message but for the invalided jsonStr, I guess it may not work in this way.

authors: TAOXUY qiwzhang


text:
stats: Add option to switch between fake and real symbol-tables on the command-line.

Description: Add a command-line option to switch between real and fake symbol tables. The latter does not have a contention risk, but takes a lot more memory. This helps unblock #4980 and ultimately resolve #4196
Risk Level: medium because the change is pretty broad
Testing: //test/...
Docs Changes: n/a I think, -- this should not be a permanent option.
Release Notes: added release note for new option.

/retest

@mattklein123 I gave it a try to duplicate @alyssawilk's logic, more or less. I added an assert but also made the setter private, and access it only via a TestingPeer so I can change the setting during tests.
PTAL.


text:
envoy.dependency.check: Update checker output and missing checker tests

Signed-off-by: Ryan Northey ryan@synca.io

@kfaseela this will most likely conflict with your PR for cython packages and dynamic limit - and at least one test would need adjusting
im happy to land your prs first

temp WIPping this while i makes some adjustments to output

thanks @phlax !

authors: kfaseela phlax

repo: envoyproxy/pytooling


text:
歌曲播放错误

例如 RAD8kWIMPS-花火大会
酷我源没问题
QQ源放不了,直接报错
网易云源比较玄学,是不完整的
版本是018版
问题复现链接
希望开发者能看看是什么导致的

这个是它们做的限制，我也无可奈何。😂

这个是它们做的限制，我也无可奈何。😂

这个可太难受了
貌似是最近升级了一次接口

authors: CberYellowstone enzeberg

repo: enzeberg/tongzhong-music

license: MIT


text:
Improve support for multipart files

Adds support for array multi-part form data attachments.
Take for example the following endpoint:
  /api/attachments/upload:
    post:
      operationId: uploadFile
      parameters:
        - name: productId
          required: true
          in: query
          description: Product to associate the files to
          schema: {}
      requestBody:
        required: true
        content:
          multipart/form-data:
            schema:
              type: object
              properties:
                files:
                  type: array
                  items:
                    type: string
                    format: binary

We can post several files at once to the given product.
The current generator has a few issues preventing this:

The current generator incorrectly adds array items as Part items instead of PartFile.
If we set multipart_file_type: 'MultipartFile' in our build.yaml the generated code would be invalid as http is an aliased import.
Lists of attachments in general are not supported

  @Post(
    path: '/api/attachments/upload',
    optionalBody: true,
  )
  @Multipart()
  Future<chopper.Response<List<Attachment>>> _apiAttachmentsUploadPost({
    @Query('productId') required Object? productId,
    @PartFile() required List<MultipartFile> files,
  });

Meaning we can now do our bulk upload:
apiAttachmentsUploadPost(productId: 'product-1', files: [
   MultipartFile.fromBytes('files', file1.bytes, filename: file1.name),
   MultipartFile.fromBytes('files', file2.bytes, filename: file2.name),
]);

Hi @zbarbuto , thanks for contribution!


text:
feat(chat): create new conversation after initialization (adapted for Marketplace) (Issue #2351)

Description:
create new conversation after initialization (adapted for Marketplace)
Issues:

Issue #2351

Checklist:

[x] the pull request name complies with Conventional Commits
[x] the pull request name starts with fix(<scope>):, feat(<scope>):, feature(<scope>):, chore(<scope>):, hotfix(<scope>): or e2e(<scope>):. If contains breaking changes then the pull request name must start with fix(<scope>)!:, feat(<scope>)!:, feature(<scope>)!:, chore(<scope>)!:, hotfix(<scope>)!: or e2e(<scope>)!: where <scope> is name of affected project: chat, chat-e2e, overlay, shared, sandbox-overlay, etc.
[x] the pull request name ends with (Issue #<TICKET_ID>) (comma-separated list of issues)
[x] I confirm that do not share any confidential information like API keys or any other secrets and private URLs

/deploy-review

/deploy-review

/deploy-review

/deploy-review

/deploy-review

/deploy-review

/deploy-review

/deploy-review

/deploy-review

/deploy-review

/deploy-review

/deploy-review

/deploy-review

/deploy-review

/deploy-review

/deploy-review

/deploy-review

authors: IlyaBondar nartovm

repo: epam/ai-dial-chat


text:
Can't open v3000 mol file with assigned Alias

Steps to Reproduce

Open Ketcher
Add Chain on canvas
Double-click any atom
Type any text in the 'Alias' field (for example, 'alias123')
Click 'Save as' button
Select MDL Molfile v3000 and save
Open saved file

Actual behavior
Error Message
Convert error! Cannot deserialize input JSON.
Expected behavior
Files opens. Alias is located on the atom to which we assigned it
Screenshots

Desktop (please complete the following information):

OS: Windows 10
Browser Chrome
Version 109.0.5414.120 (Official Build) (64-bit)

Ketcher version
Version 2.9.0-rc.3

Need to add "alias" field to Ketcher schema.

repo: epam/ketcher


text:
Allow * atom insertion in Ketcher

Background
It doesn't seem possible to add dummy (*) atoms in Ketcher. We would like to use Ketcher in the new ChEBI database development and this is an important feature since in ChEBI * and R groups, and A (any) atoms have a very defined meaning
Differenciating * from A is quite important for ChEBI since they have a meaning (related to the Ontology):
* = attaches to something (meaning it is a fragment)
R = something attaches here (meaning it is a core structure where a fragment will attach)
A = any single atom
Solution
button allowing the insertion of * atoms like MarvinJS has.

Hi @eloyfelix
Thanks for your request.
Could you please provide some examples in different formats (SMILES, Mol etc) with such atom (please try to provide small molecules) and expected output on the canvas

First example:
https://www.ebi.ac.uk/chebi/searchId.do?chebiId=CHEBI:47265
molfile: ChEBI_47265.mol.zip
SMILES: Br*
It should show in canvas (see the selected button in MarvinJS in the image would be the expected functionality):

Second example:
https://www.ebi.ac.uk/chebi/searchId.do?chebiId=CHEBI:142521
molfile: ChEBI_142521.mol.zip
SMILES: [C@@]1(O[C@]([C@H](NC(=O)C)[C@H](C1)O)([C@@H]([C@H](O)CO)O)[H])(C(O)=O)O[C@H]2[C@H]([C@H](O[C@H]([C@@H]2O)*)CO)O[C@H]3[C@@H]([C@H]([C@@H](O)[C@H](O3)CO)O)NC(C)=O

Many thanks for looking into it!

Meeting note: Considered as moderate to fix.
Preliminary milestone - 3.1

Many thanks, @AlexeyGirin! I noticed there are no dates for the milestones. Do you have a rough idea of when this might happen? Even something like "sometime in 2025" would be helpful.
Thanks again for considering the feature.

Hello, @eloyfelix!
Thank you again for your interest.
We will be adding the star/dummy atom in release 3.1. You can expect the final version of it in mid-March 2025 (with the beta version available a little sooner than that).

authors: AlexeyGirin eloyfelix ljubica-milovic


text:
Error is shown when try to save structure with added text

Steps to Reproduce

Open Ketcher
Add any structure
Select "Add Text" tool
Insert any text
Add text
Click Save icon

Expected behavior
Save window is shown without error
Actual behavior
Error is shown
Screenshots

Desktop:

OS: Windows 10
Browser: Chrome Version 93.0.4577.63, Firefox Version 92.0, Microsoft Edge Version 93.0.961.47

重现步骤

打开 Ketcher
添加任何结构
选择“添加文本”工具
插入任何文本
添加文字
单击保存图标

预期行为 保存窗口显示没有错误
显示实际行为 错误
截图
桌面：

操作系统：Windows 10
浏览器：Chrome 93.0.4577.63 版、Firefox 92.0 版、Microsoft Edge 93.0.961.47 版

Excuse me, how do you run the project? Can you share the next steps

Hi @AWeiJie ,
the detailed instruction how to build App can be found here https://github.com/epam/ketcher/blob/master/DEVNOTES.md

Related issue: https://github.com/epam/Indigo/issues/530

Fixed, tested on 2.4

authors: AWeiJie AllaZhbanova AndreiMazol ElenaOdnoshivkina


text:
[Backport] [v0.8] [Ubuntu] elasticsearch-curator in version 5.8.3 is not available from APT repo

We need to backport #2262.

DoD checklist

[ ] Changelog updated (if affected version was released)
[ ] COMPONENTS.md updated / doesn't need to be updated
[ ] Automated tests passed (QA pipelines)

[ ] apply
[ ] upgrade

[ ] Case covered by automated test (if possible)
[ ] Idempotency tested
[ ] Documentation updated / doesn't need to be updated
[ ] All conversations in PR resolved

✔ epicli apply: AWS/Azure x Ubuntu/RHEL with elasticsearch-curator enabled in feature-mapping.
✔ epicli upgrade: AWS/Azure x Ubuntu/RHEL. Successfully upgraded elasticsearch-curator from v5.8.1 (manually installed) to v5.8.3

authors: przemyslavic to-bar

repo: epiphany-platform/epiphany


text:
Uncaught EvalError: Refused to evaluate a string as JavaScript because 'unsafe-eval' is not an allowed source of script in the following Content Security Policy directive: "script-src 'self' 'unsafe-inline'".

Hi, ajv stops work for me with such headers:
  devServer: {
    .....
    headers: {
     .....
     'Content-Security-Policy':
        "default-src 'self' data:; style-src 'self' 'unsafe-inline'; script-src 'self' 'unsafe-inline';
    },
    ......
}

npm ls:
.....
│ │ │   │ ├─┬ har-validator@4.2.1
.....

What version of Ajv are you using? Does the issue happen if you use the latest version?
"ajv": "^5.2.2"
Ajv options object

//default options

JSON Schema

{
  "id": "test",
  "type": "object",
  "properties": {
    "name": {
      "type": "string"
    }
  }
}

Sample data

Your code

import React, { Component } from 'react'
import Ajv from 'ajv'

const schema = {
  id: 'test',
  type: 'object',
  properties: {
    name: {
      type: 'string'
    }
  }
}

export default class MessageForm extends Component {

  render() {
    const ajv = new Ajv()
    const validator = ajv.compile(schema)
    console.log('validator', validator)
    return (

AJV test

    )
  }
}

Validation result, data AFTER validation, error messages
Error compiling schema, function code: var refVal1 = refVal[1]; var validate =  (function  (data, dataPath, parentData, parentDataProperty, rootData) { 'use strict';  var vErrors = null;  var errors = 0;            var errs_1 = errors;    var errs_2 = errors; if ((typeof data !== "number" || (data % 1) || data !== data)) {  validate.errors = [ { keyword: 'type' , dataPath: (dataPath || '') + "" , schemaPath: '#/definitions/nonNegativeInteger/type' , params: { type: 'integer' }  , message: 'should be integer'  } ]; return false;  }  if (typeof data === "number") {    if (  data < 0 || data !== data) {  validate.errors = [ { keyword: 'minimum' , dataPath: (dataPath || '') + "" , schemaPath: '#/definitions/nonNegativeInteger/minimum' , params: { comparison: '>=', limit: 0, exclusive: false }  , message: 'should be >= 0' } ]; return false;  }    }    var valid2 = errors === errs_2;     var valid1 = errors === errs_1;      validate.errors = vErrors;  return errors === 0;        }); return validate;
localCompile @ bundle.min.js:127783
resolve @ bundle.min.js:40919
resolveRef @ bundle.min.js:127823
generate_ref @ bundle.min.js:130089
generate_validate @ bundle.min.js:56487
generate_properties @ bundle.min.js:129709
generate_validate @ bundle.min.js:56563
localCompile @ bundle.min.js:127721
compile @ bundle.min.js:127690
_compile @ bundle.min.js:55657
getSchema @ bundle.min.js:55515
defaultMeta @ bundle.min.js:55499
validateSchema @ bundle.min.js:55473
_addSchema @ bundle.min.js:55616
compile @ bundle.min.js:55422
render @ bundle.min.js:187821
(anonymous) @ bundle.min.js:242958
measureLifeCyclePerf @ bundle.min.js:242237
_renderValidatedComponentWithoutOwnerOrContext @ bundle.min.js:242957
_renderValidatedComponent @ bundle.min.js:242984
performInitialMount @ bundle.min.js:242524
mountComponent @ bundle.min.js:242420
mountComponent @ bundle.min.js:30544
_updateRenderedComponent @ bundle.min.js:242927
_performComponentUpdate @ bundle.min.js:242886
updateComponent @ bundle.min.js:242807
performUpdateIfNecessary @ bundle.min.js:242723
performUpdateIfNecessary @ bundle.min.js:30655
runBatchedUpdates @ bundle.min.js:21830
perform @ bundle.min.js:38482
perform @ bundle.min.js:38482
perform @ bundle.min.js:21769
flushBatchedUpdates @ bundle.min.js:21852
closeAll @ bundle.min.js:38548
perform @ bundle.min.js:38495
batchedUpdates @ bundle.min.js:246164
batchedUpdates @ bundle.min.js:21777
dispatchEvent @ bundle.min.js:246476

Uncaught EvalError: Refused to evaluate a string as JavaScript because 'unsafe-eval' is not an allowed source of script in the following Content Security Policy directive: "script-src 'self' 'unsafe-inline'".

    at new Function (<anonymous>)
    at Ajv.localCompile (bundle.min.js:127752)
    at Ajv.resolve (bundle.min.js:40919)
    at Object.resolveRef (bundle.min.js:127823)
    at Object.generate_ref [as code] (bundle.min.js:130089)
    at Object.generate_validate [as validate] (bundle.min.js:56487)
    at Object.generate_properties [as code] (bundle.min.js:129709)
    at generate_validate (bundle.min.js:56563)
    at localCompile (bundle.min.js:127721)
    at Ajv.compile (bundle.min.js:127690)
localCompile @ bundle.min.js:127752
resolve @ bundle.min.js:40919
resolveRef @ bundle.min.js:127823
generate_ref @ bundle.min.js:130089
generate_validate @ bundle.min.js:56487
generate_properties @ bundle.min.js:129709
generate_validate @ bundle.min.js:56563
localCompile @ bundle.min.js:127721
compile @ bundle.min.js:127690
_compile @ bundle.min.js:55657
getSchema @ bundle.min.js:55515
defaultMeta @ bundle.min.js:55499
validateSchema @ bundle.min.js:55473
_addSchema @ bundle.min.js:55616
compile @ bundle.min.js:55422
render @ bundle.min.js:187821
(anonymous) @ bundle.min.js:242958
measureLifeCyclePerf @ bundle.min.js:242237
_renderValidatedComponentWithoutOwnerOrContext @ bundle.min.js:242957
_renderValidatedComponent @ bundle.min.js:242984
performInitialMount @ bundle.min.js:242524
mountComponent @ bundle.min.js:242420
mountComponent @ bundle.min.js:30544
_updateRenderedComponent @ bundle.min.js:242927
_performComponentUpdate @ bundle.min.js:242886
updateComponent @ bundle.min.js:242807
performUpdateIfNecessary @ bundle.min.js:242723
performUpdateIfNecessary @ bundle.min.js:30655
runBatchedUpdates @ bundle.min.js:21830
perform @ bundle.min.js:38482
perform @ bundle.min.js:38482
perform @ bundle.min.js:21769
flushBatchedUpdates @ bundle.min.js:21852
closeAll @ bundle.min.js:38548
perform @ bundle.min.js:38495
batchedUpdates @ bundle.min.js:246164
batchedUpdates @ bundle.min.js:21777
dispatchEvent @ bundle.min.js:246476

What results did you expect?
Are you going to resolve the issue?

see https://github.com/epoberezkin/ajv/issues/406

authors: epoberezkin v-i-n-y-a

repo: epoberezkin/ajv


text:
chore: gh action to upgrade provider dependency in Pulumi provider

This action will open an Issue in equinix/pulumi-equinix when there is a new release, and this in turn will trigger https://github.com/equinix/pulumi-equinix/blob/main/.github/workflows/upgrade-provider.yml

Codecov Report
Attention: 60 lines in your changes are missing coverage. Please review.

Comparison is base (26b2f3d) 60.11% compared to head (952291e) 60.01%.
Report is 41 commits behind head on main.

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@            Coverage Diff             @@
##             main     #452      +/-   ##
==========================================
- Coverage   60.11%   60.01%   -0.11%
==========================================
  Files          99       99
  Lines       20045    20076      +31
==========================================
- Hits        12051    12048       -3
- Misses       7691     7724      +33
- Partials      303      304       +1

Files
Coverage Δ

equinix/config.go
64.36% <100.00%> (+1.06%)
:arrow_up:

equinix/errors.go
86.95% <100.00%> (+0.59%)
:arrow_up:

equinix/fabric_cloud_router_schema.go
100.00% <100.00%> (ø)

equinix/fabric_connection_schema.go
100.00% <100.00%> (ø)

equinix/helpers_device.go
82.26% <97.14%> (-2.65%)
:arrow_down:

equinix/data_source_metal_device.go
88.33% <89.47%> (-0.71%)
:arrow_down:

equinix/resource_fabric_cloud_router.go
9.69% <0.00%> (-0.05%)
:arrow_down:

equinix/resource_metal_device.go
78.00% <87.50%> (-1.08%)
:arrow_down:

equinix/resource_fabric_connection.go
5.75% <0.00%> (-0.09%)
:arrow_down:

equinix/fabric_mapping_helper.go
0.74% <0.00%> (-0.03%)
:arrow_down:

... and 5 files with indirect coverage changes

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

lgtm
As a next step, could we trigger a PR on Pulumi to build the update?

Yes @displague, It is already in place, I took it from Pulumi, it is the method that is used for all the providers that they maintain. https://github.com/equinix/pulumi-equinix/blob/c73136ee0a1a8f9c4e3ccb6c9edd834aa2f6f967/.github/workflows/upgrade-provider.yml#L6-L8

authors: codecov-commenter ocobles

repo: equinix/terraform-provider-equinix


text:
chore: remove email from test

I'm recieving notification emails that are sent in local enviornment to my email. You might want to disregard this PR if you have some other place you want these to end up.
But should work to send the tests to the Group email that you can all have access to and inspect.

@vehecap

repo: equinor/chemcom-api


text:
Improve Dynatrace Installation

Move everything to DT PRODUCTION environment / add it to the cookie bot with dtrum.enable()
~
Discuss if needed at all

Left a comment in the code: https://github.com/equinor/energyvision/commit/f7f88cff79182a171c510c83232bba3d5e581345#comments

Left a comment in the code: f7f88cf#comments

I like the suggestion! Just refactored =)

Looks good, it now also doesn't crash anymore with adblock enabled ✅

authors: SvSven fernandolucchesi

repo: equinor/energyvision


text:
User story:  TRAJECTORY Object - API Create, Delete, Rename and Copy

As a Developer, I want the to extend the WE API to support deletion of individual trajectory stations and to copy or rename the trajectory name.
Acceptance criteria

[ ] The WE API is extended to support deletion of individueal trajectory stations and copying renaming of the trajectory

Also, here are a few points that need to be addressed:

[ ] Constraint 1
[ ] Constraint 2

Resources

Resource A
Resource B

INT - TDE @aszalos-roland

TODO Trajectory station:

Edit name
Create new

authors: HoldampfIldiko janburak thomash1972

repo: equinor/witsml-explorer


text:
EPA integration test failing

Currently, when we are running through the CFR annual edition volumes, we step one at a time and die when we hit a 404. Unfortunately, the volumes will sometimes have holes:

Account for this (and fix the EPA integration tests)

These now work

repo: eregs/regulations-parser

license_source: bigquery


text:
When i set the path_static in constructor, html doesnt work well!

To resolve that i should change/add the new path for css routing because css and html files are in the statics and py files could be somewhere else

it solved in 0.0.12 ✅

repo: erfanvaredi/data-art


text:
Fix some small problems about traditional Chinese Translation

I'm really not careful, this should be the last fix for Simplified Chinese and Traditional Chinese translation

The next two commits are used to synchronize with the main version of README

👍

👍

I marked this PR as draft, which means this PR is not yet complete🤣

authors: C-BJ mtshiba

repo: erg-lang/erg


text:
更新代码

1.更新代码

更新代码

repo: eric-lxm/ZLMediaKit


text:
dropped AWS signature

according to https://developer-docs.amazon.com/sp-api/changelog/sp-api-will-no-longer-require-aws-iam-or-aws-signature-version-4 this is no longer required

@ericcj we've been using it like this since I opened the PR :-)


text:
Update prerequisites

Relates to #7
Summary
Update prerequisite checks.

Superseded by #18

repo: ericcornelissen/asdf-yamllint


text:
Multiple view directories.

Since version 2.0.0 you can no longer use multiple view directories:
With the following code:
server.set('view engine', '.hbs');
server.set('views', [
  dirPath1,
  dirPath2,
  dirPath3
]);

I get:
TypeError: Arguments to path.resolve must be strings
This was ok in version 1.1.0, and it appears as though this should be supported when looking at the Express documentation (http://expressjs.com/api.html).
From option views:

A directory or an array of directories for the application's views. If an array, the views are looked up in the order they occur in the array.

Was this ever merged?

This should be looked at. According to the Express API, the views option can be an array but this causes express-handlebars to crash at the renderView method.

An array of views worked with version 1.1.2, this behavior has definitely changed, I believe as of 2.0.0.

Two years on I'm guessing this regression of behaviour hasn't been fixed anywhere. Anyone have a solution on this thread?
graceful-fs v3 will no longer work on node.js  >= v7 so the option to use 1.1.0 will be broken when node v8 becomes LTS in October.
npm WARN deprecated graceful-fs@1.2.3: graceful-fs v3.0.0 and before will fail on node releases >= v7.0. Please update to graceful-fs@^4.0.0 as soon as possible. Use 'npm ls graceful-fs' to find it in the tree.

Since we're stuck at an older version of express-handlebars until this is resolved, express-handlebars ended up being our main source of vulnerabilities coming from inherited dependencies.
I ended up writing my own lightweight view engine to replace express-handlebars, but it's very much unique to our "stack", and a bit much to expect anyone else to use.  In our case, we already had a standalone handlebars renderer, wiring that into something that supported the view engine API was not all that hard.

So it is still not supported in express-handlebars 3.0.0 to use multiple view directories?

Not since I last checked in June this year - if you come up with a solution I would be interested to see!

When I try to set two folders in the app.set('views', ['views1', 'views2']), I get the error:
TypeError: Path must be a string. Received [ 'views1', 'views1' ]
    at assertPath (path.js:7:11)
    at Object.relative (path.js:1226:5)

But it works well either by app.set('views', 'views1') or app.set('views', 'views2').
After read this issue, I'm puzzled whether have I understand it. But it seems still a lot people suffer from this such as this issue.
I'm trying to find a solution, but it doesn't look well.

Not a great long-term solution, but if all your handlebars views are in a single folder, here's a temporary solution.
const hbsViews = path.join(__dirname, '/views'); // path to your handlebars views
const hbsEngine = exphbs({
  layoutsDir: path.join(__dirname, '/views/layouts'),
  defaultLayout: 'main',
  extname: '.hbs',
});
app.engine(
  '.hbs',
  function(filePath, options, callback) {
    options.settings.views = hbsViews;
    hbsEngine(filePath, options, callback);
  }
);

This works because it fixes this line, which breaks when you set views to be an array.

authors: Koded acazacu jswny morgannewman sidhuko soyaine the-t-in-rtf

repo: ericf/express-handlebars


text:
loadSkeleton on clBody in sample app cause layout to lose its constraints

in JourneyDetailFragment, i add loadSkeleton  to clBody and it gets call after clHeader skeleton is done.
body constraints are OK when skeleton loaded, but when it gets hide, it loses its constrains and goes on top.
i couldn't realize what's the problem, so it will be great if you could explain what happened there?

Hi @moodi1999 👋,
Thank you for your bug report. It is appreciated.
When the skeleton is showing, the view has set new layoutParams (FrameLayout.LayoutParams) because it is contained within a ShimmerFrameLayout and this layout has the original layoutParams (ConstraintLayout.LayoutParams).
When hideSkeleton is called the view hierarchy is restored and the layoutParams of the view return to its original configuration.
I'll check this process in the case you described.
Have a nice day!

@moodi1999 I've reproduced the issue and fixed it. Please try out 0.7.3 version.
Thanks a lot for your contibution.

repo: ericktijerou/koleton


text:
Help Akavache transition to v2

Looks like maybe @glennawatson is the right person to tag here.

I can help in a pinch but Akavache has traditionally been @pureween baby.

Ah, yes, I should have remembered that.
@PureWeen There are some minor breaking changes in SQLitePCLRaw 2.0, but the transition should involve very little pain.

See reactiveui/Akavache#496

Not sure if this is related or not, but after upgrading Akavache from v6.5.20 to v6.7.1 and SQLitePCLRaw.bundle_e_sqlite3 from v1.1.14 to v2.0.0 when trying to initialize Akavache I get the following exception:
Unhandled exception: System.TypeInitializationException: The type initializer for "Akavache.BlobCache" threw an exception. ---> System.ArgumentException: Path is invalid.
   in System.IO.Path.NormalizePath(String path, Boolean fullCheck, Int32 maxPathLength, Boolean expandShortPaths)
   in System.IO.Path.InternalGetDirectoryName(String path)
   in SQLitePCL.NativeLibrary.MakePossibilitiesFor(String basename, Assembly assy, Int32 flags, LibSuffix suffix)
   in SQLitePCL.NativeLibrary.MyLoad(String basename, Assembly assy, Int32 flags, Action`1 log)
   in SQLitePCL.NativeLibrary.Load(String libraryName, Assembly assy, Int32 flags)
   in SQLitePCL.Batteries_V2.MakeDynamic(String name, Int32 flags)
   in SQLitePCL.Batteries_V2.DoDynamic_cdecl(String name, Int32 flags)
   in SQLitePCL.Batteries_V2.Init()
   in Akavache.Registrations.Register(IMutableDependencyResolver resolver, IReadonlyDependencyResolver readonlyDependencyResolver)
   in Akavache.DependencyResolverMixin.InitializeAkavache(IMutableDependencyResolver resolver, IReadonlyDependencyResolver readonlyDependencyResolver)
   in Akavache.BlobCache.<>c.<.cctor>b__9_0()
   in Splat.InternalLocator.RegisterResolverCallbackChanged(Action callback)
   in Splat.Locator.RegisterResolverCallbackChanged(Action callback)
   in Akavache.BlobCache..cctor()

The exception is thrown from here:
https://github.com/worldbeater/Camelotia/blob/misc-updates/src/Camelotia.Presentation.Wpf/App.xaml.cs#L24
Planning to investigate what's causing this later, but any ideas of what could go wrong with Akavache are appreciated. The repro is here, misc-updates branch, Camelotia.Presentation.Wpf project. Akavache initializes without exceptions when targeting .NET Core (Avalonia) or UWP.

At first glance, this looks like a bug in SQLitePCLRaw.  A bug that is specific to .NET Framework.  I need to look more closely.

authors: ericsink glennawatson worldbeater


text:
Does not work with react 17

npm ERR! code ERESOLVE
npm ERR! ERESOLVE unable to resolve dependency tree
npm ERR!
npm ERR! While resolving: purdue-ecea-website@0.1.0
npm ERR! Found: react@17.0.2
npm ERR! node_modules/react
npm ERR!   react@"^17.0.2" from the root project
npm ERR!   peer react@">=16.8.0" from @emotion/react@11.4.1
npm ERR!   node_modules/@emotion/react
npm ERR!     @emotion/react@"^11.4.1" from the root project
npm ERR!     peer @emotion/react@"^11.1.1" from @ericz1803/react-google-calendar@4.2.1
npm ERR!     node_modules/@ericz1803/react-google-calendar
npm ERR!       @ericz1803/react-google-calendar@"" from the root project
npm ERR!
npm ERR! Could not resolve dependency:
npm ERR! peer react@"^16.14.0" from @ericz1803/react-google-calendar@4.2.1
npm ERR! node_modules/@ericz1803/react-google-calendar
npm ERR!   @ericz1803/react-google-calendar@"" from the root project
npm ERR!
npm ERR! Fix the upstream dependency conflict, or retry
npm ERR! this command with --force, or --legacy-peer-deps
npm ERR! to accept an incorrect (and potentially broken) dependency resolution.
npm ERR!

One way to resolve this is by using yarn instead:
yarn add @ericz1803/react-google-calendar
It worked out for me.

authors: matthewwen shahdivyank


text:
Use an action with an actual type to get the initialSate

Fixes https://github.com/erikras/multireducer/issues/114

Right, forgot immutableMultireducer. Done

Published in v3.0.1.

authors: yched yesmeck

repo: erikras/multireducer

license: mit


text:
Dropdown List w/ react-select : Field stays focused after being selected and value disappears onBlur

Dropdown List w/ react-select : Field stays focused after being selected and value disappears onBlur
let options = [
    { value: 'Denmark', label: 'Denmark' },
    { value: 'US', label: 'US' }
  ];

const renderDropdownList = ({ input, meta: { touched, error }, ...rest }) => (

    <Select {...input} {...rest}/>
    {touched && ((error && {error}))}

)

<Field name="country" options={options} type="text" component={renderDropdownList} placeholder="Country"/>

Does anyone have a similar problem?

I ran into a similar issue with react-toolbox dropdown. Making an initial or new selection worked as expected. However, when I click on the dropdown to change an existing selection, but click away instead of making a new selection, the previous value disappears. I'm still on redux-form 6.1.1, but v6.3.0  docs provide the same hint which I found helpful:

...Needs  onBlur to be rewritten ignoring the parameter...

When I caught the onBlur being passed from Field to my dropdown component, the bug disappeared. In my situation I updated my dropdown to be:
const MyDropdown = ({ className, input, meta: { touched, error }, ...custom }) => (
  <Dropdown
    className={cn(style.echoDropdown, className)}
    error={touched && error ? error : ''}
    {...input}
    {...custom}
    onBlur={() => console.log('bug squashed!')} // I'm the important line
  />
);

but you could also do it case by case if you wanted to by adding it to Field instead:
<Field
  name="myDropdownName"
  component={MyDropdown}
  source={mySource}
  label="Make a selection"
  onBlur={() => console.log('bug squashed!')} // I'm the important line
/>

Awesome! onBlur={null} worked for me.
Thanks!!

repo: erikras/redux-form


text:
Best practice using multiple pages with redux forms

Hi everybody,
I have a question about best practices concerning redux forms. I have a page flow that looks like this:
Page A (Select object) -> Page B (Edit data) -> Page C (Edit data) -> Page D (Edit data)
On Page A you can select an object. When that object is selected it is loaded into the state and on Page B, C and D you can change information in the selected object.
The object is stored in the database as JSON and it's pretty big. I am wondering what is the best practice.
First option:
On Page A when the object is selected the entire JSON tree is loaded in the state. On Page B, C and D I could use mapStateToProps to map the values to the props. When I do that the fields aren't initialized correctly. If I understand right it's because redux Fields get their values from the state? And therefore mapping the values to the props first makes no sense. The JSON tree is big and has many levels. Therefore I wonder is this the best practive because that means alot of the field will look like this:
<Field name="prop1.subprop2.subprop1.subprop6"
I don't mind however this does create a kind of binding between the backend json structure and the frontend.
Second option:
On Page B, C and D I could implement componentDidMount that loads the information from the JSON in small sections. This JSON would be flat and have all the properties in the root node of the JSON message. This does imply that I create rest endpoints for all the pages instead of just 1 rest endpoint that returns the big JSON and another rest point for each page to save the data back into the JSON message in the database.
I would really like to hear your ideas,
Martijn

Are you looking for something like this?

Closing due to inactivity.

authors: gustavohenke martijnhiemstra


text:
Uncaught SubmissionError

I have method witch send user data and if return error method throw SubmissionError
redux-form version "redux-form": "^6.5.0"
handleSubmit = (data) => {
    const { signUp, signIn, fetchUser, loadBalance, affiliate } = this.props;

    new Fingerprint2(fingerPrintConfig).get(userHash => {
      return signUp(data, this.props.locale, userHash)
        .then((action) => {
          if (action.type === authActionTypes.SIGN_UP.SUCCESS) {
            return signIn(data, affiliate);
          } else if (action.error) {
            const { response } = action.payload;
            const error = response[0] ? response[0] : null;
            let errorMessage = 'MODALS.SIGN_UP.ERRORS.INVALID_DATA';

            if (error.logref === 'UserIpIsBlockedException') {
              errorMessage = 'MODALS.SIGN_UP.ERRORS.BLOCKED_IP';
            }

            throw new SubmissionError({ _error: errorMessage });
          }
        })
        .then((action) => {
          if (action.type === authActionTypes.SIGN_IN.SUCCESS) {
            return fetchUser();
          } else if (action.error) {
            this.handleSignInFail(data.email);
          }
        })
        .then((action) => {
          if (action.type === authActionTypes.FETCH_USER.SUCCESS) {
            loadBalance();
            this.handleAutoLoginSuccess();
          } else if (action.error) {
            this.handleFetchUserFail();
          }
        });
    });
  };

I inject this method in to component witch contain redux-from:
<SignUpForm
        locale={this.props.locale}
        onSubmit={this.handleSubmit}
        asyncValidate={this.handleAsyncValidate}
        asyncBlurFields={['email']}
      />

class SignUpForm extends Component {
  state = {
    passwordType: 'password',
  };

  showHidePassword = (e) => {
    stopEvent(e);

    this.setState({
      passwordType: this.state.passwordType === 'input' ? 'password' : 'input',
    });
  };

  render() {
    const { handleSubmit, pristine, submitting, onSubmit, error, disabled } = this.props;
    const { passwordType } = this.state;

    return (
      <form className='form' onSubmit={handleSubmit(onSubmit)} autoComplete="off">
        {error &&

          {I18n.t(error)}

}
        <input type="email" name="email" style={{ display: 'none'}} />
        <input type="password" name="password" style={{ display: 'none'}} />
        <Field
          name="name"
          label={I18n.t(attributeLabels.name)}
          type="text"
          component={InputField}
        />
        <Field
          name='email'
          label={I18n.t(attributeLabels.email)}
          type='text'
          component={InputField}
        />
        <Field
          name='password'
          label={I18n.t(attributeLabels.password)}
          type={passwordType}
          disabled={disabled}
          component={InputField}
          info={}
        />

          <BootstrapButton
            block
            type='submit'
            className='btn-lg'
            bsStyle='warning'
            disabled={pristine || submitting}
          >
            {I18n.t('SIGN_UP.BUTTON')}
          </BootstrapButton>

      </form>
    );
  }
}

When I throw SubmissionError I have error, and form don't catch error:

This is not a Redux Form problem - is the browser itself catching promises which were unhandled.
See, in your handleSubmit function, you do this:
handleSubmit = (data) => {
    const { signUp, signIn, fetchUser, loadBalance, affiliate } = this.props;

    // oops, no return!
    new Fingerprint2(fingerPrintConfig).get(userHash => {
      return signUp(data, this.props.locale, userHash)
      // ...lots of code, one of the branches throwing SubmissionError

Simply add a return keyword before new Fingerprint2, or convert it to a promise somehow!
It should work.

authors: gustavohenke khotey


text:
New distributed() itertool

Re: Issue #55, this PR adds distribute(), a new itertool that splits an iterable into a fixed number of chunks. The items are distributed among the chunks as evenly as possible.
The ith item in the iterable goes in the (i % n)th chunk, so we have:
>>> group_1, group_2 = distribute(2, [1, 2, 3, 4, 5, 6])
>>> list(group_1)
[1, 3, 5]
>>> list(group_2)
[2, 4, 6]

This allows the items to be distributed evenly without knowing the length of the input iterable.
When n doesn't match the length of the input iterable, the sizes of the chunks won't be identical:
>>> children = distribute(3, [1, 2, 3, 4, 5, 6, 7])
>>> [list(c) for c in children]
[[1, 4, 7], [2, 5], [3, 6]]

The input iterable is teed, so behind the scenes the items from the input iterable are being cached if you iterate through one returned sub-iterator before the others.

Nice.  This seems to be a way to interleave between a set of chunks.
Observations
I get different behavior for n=1 where consuming the assigned generator with list() doesn't evaluate the results (compared to the docstring example for n=2).
>>> g = distribute(1, [1, 2, 3, 4, 5, 6])
>>> list(g)
[<generator object distribute.<locals>._iterator at 0x0000000004C11468>]       # expect numbers

Questions

What does distributing to n=1 chunks actually mean?  I would expect this to return itself.
Is this what you want, or instead ignore distributing one chunk and raise an error if n < 2?
Would it be more memory-friendly to return a generator expression instead of a list comprehension, i.e. return (_iterator(index) for index in range(n))?

Re: n=1 case: If you want to get back the original for n=1, just put a comma after the assignment:
>>> group_1, = distribute(1, [1, 2, 3, 4, 5, 6])
>>> list(group_1)
1: [1, 2, 3, 4, 5, 6]

distribute() must return an iterable of iterables, so you can use unpacking if you hard-code n.

Re: return a generator expression: I don't think this is necessary. n is unlikely to be large, and each iterable in the returned list is itself pretty compact.
Also, this would prevent slicing the returned value. I could see returning a tuple instead of a list.

Planning to re-read and merge this tomorrow.

authors: bbayles pylang

repo: erikrose/more-itertools


text:
Drag Rotate OpenSeadragonPaperjsOverlay

When I rotate the openseadragon image, it only rotates the image. The paperjs annotation stays the same position, so if I rotate I need to rotate the image with the paper js comment I should do it, and I drag the image annotation will not follow
I have now rewritten according to the openseadragon-canvas-overlay rewriting method I saw in the issue. It is still not available. How should I change it?
(function() {

    if (!window.OpenSeadragon) {
        console.error('[openseadragon-canvas-overlay] requires OpenSeadragon');
        return;
    }

    // ----------
    OpenSeadragon.Viewer.prototype.paperjsOverlay = function() {
        if (this._paperjsOverlayInfo) {
            return this._paperjsOverlayInfo;
        }

        this._paperjsOverlayInfo = new Overlay(this);
        return this._paperjsOverlayInfo;
    };

    // ----------
    var Overlay = function(viewer) {
        var self = this;

        this._viewer = viewer;

        this._containerWidth = 0;
        this._containerHeight = 0;

        this._canvasdiv = document.createElement( 'div');
        this._canvasdiv.style.position = 'absolute';
        this._canvasdiv.style.left = 0;
        this._canvasdiv.style.top = 0;
        this._canvasdiv.style.width = '100%';
        this._canvasdiv.style.height = '100%';
        this._viewer.canvas.appendChild(this._canvasdiv);

        this._canvas = document.createElement('canvas');
        this._canvas.setAttribute('id', 'osd-overlaycanvas');
        this._canvasdiv.appendChild(this._canvas);
        this.resize();

        paper.setup(this._canvas);

        this._viewer.addHandler('update-viewport', function() {
            self.resize();
            self.resizecanvas();
            self._updateCanvas();
        });

        this._viewer.addHandler('open', function() {
            self.resize();
            self.resizecanvas();
            self._updateCanvas();
        });

        this.resize();
    };

    // ----------
    Overlay.prototype = {
        // ----------
        paperCanvas: function() {
            return this._canvas;
        },
        clear: function() {
           // TODO: check what needs to be added here
        },
        // ----------
        resize: function() {
            if (this._containerWidth !== this._viewer.container.clientWidth) {
                this._containerWidth = this._viewer.container.clientWidth;
                this._canvasdiv.setAttribute('width', this._containerWidth);
                this._canvas.setAttribute('width', this._containerWidth);
            }
            if (this._containerHeight !== this._viewer.container.clientHeight) {
                this._containerHeight = this._viewer.container.clientHeight;
                this._canvasdiv.setAttribute('height', this._containerHeight);
                this._canvas.setAttribute('height', this._containerHeight);
            }
        },
        resizecanvas: function() {
                this._canvasdiv.setAttribute('width', this._containerWidth);
                this._canvas.setAttribute('width', this._containerWidth);
                this._canvasdiv.setAttribute('height', this._containerHeight);
                this._canvas.setAttribute('height', this._containerHeight);
                paper.view.viewSize = new paper.Size(this._containerWidth, this._containerHeight);
                var viewportZoom = this._viewer.viewport.getZoom(true);
                var image1 = this._viewer.world.getItemAt(0);
                paper.view.zoom = image1.viewportToImageZoom(viewportZoom);
                var center = this._viewer.viewport.viewportToImageCoordinates(this._viewer.viewport.getCenter(true));
                paper.view.center = new paper.Point(center.x, center.y);
       },
        _updateCanvas: function() {
            var viewportZoom = this._viewer.viewport.getZoom(true);
            var scale = viewportZoom * this._containerWidth;
            var context = this._canvas.getContext('2d');
            var centerX = this._canvas.width / 2;
            var centerY = this._canvas.height / 2;
            var degrees = this._viewer.viewport.getRotation();
            var DEG2RAD = Math.PI / 180;

            // var x =
            //     ((this._viewportOrigin.x / this.imgWidth - this._viewportOrigin.x) / this._viewportWidth) *
            //     this._containerWidth;
            // var y =
            //     ((this._viewportOrigin.y / this.imgHeight - this._viewportOrigin.y) /
            //         this._viewportHeight) *
            //     this._containerHeight;
            //
            // if (this.clearBeforeRedraw) {
            //     this.clear();
            // }

            context.translate(centerX, centerY);
            context.rotate(degrees * DEG2RAD);
            context.translate(-centerX, -centerY);

            // context.translate(x, y);
            context.scale(scale, scale);
            // this.onRedraw();
            context.setTransform(1, 0, 0, 1, 0, 0);
        }
    };
})();

It might be good to start a pull request with this code; that way it would be easier for other people to try it out. If you don't intend the pull request to be merged yet, you can mark it as a draft.
At any rate, is this code working as is or is it still not perfect? If it's not working, in what way is it not working?

authors: XingGuan iangilman

repo: eriksjolund/OpenSeadragonPaperjsOverlay


text:
Look Into Closer Coupling of Logical and Arithmetic Rules

Take a gander and see if they could be made more consistent or shared code can be removed.
I noticed how ground versions of these are made is inconsistent.

ArithmeticRules - makeGroundRule()
LogicalRules - groundFormulaInstance()

I thought about this while doing Lazy Grounding, but did not see any places for closer coupling.

repo: eriq-augustine/psl


text:
Lager with Erl24

Hello there. facing the issue with lager + Erlang 24
lager 3.8.0
===> Compiling lager
.../_build/default/lib/lager/src/lager.erl:83:10: Warning: variable '_App' is bound multiple times in this pattern. If you mean to ignore this value, use '_' or a different underscore-prefixed name
%   83| start_ok(_App, {error, {already_started, _App}}) -> ok;
%     |          ^

.../_build/default/lib/lager/src/lager.erl:83:42: Warning: variable '_App' is bound multiple times in this pattern. If you mean to ignore this value, use '_' or a different underscore-prefixed name
%   83| start_ok(_App, {error, {already_started, _App}}) -> ok;
%     |

===> Compiling erlcass
===> Compiling _build/default/lib/erlcass/src/erlcass_log.erl failed
_build/default/lib/erlcass/src/erlcass_log.erl:none: error in parse transform 'lager_transform': {badarg,
                                             [{erlang,integer_to_list,
                                               [{33,14}],
                                               [{error_info,
                                                 #{module =>
                                                    erl_erts_errors}}]},
                                              {lager_transform,make_varname,
                                               2,
                                               [{file,
                                                 "/opt/channelapi/_build/default/lib/lager/src/lager_transform.erl"},
                                                {line,271}]},
                                              {lager_transform,do_transform,
                                               5,
                                               [{file,
                                                 "/opt/channelapi/_build/default/lib/lager/src/lager_transform.erl"},
                                                {line,176}]},
                                              {lager_transform,
                                               '-transform_statement/2-lc$^0/1-0-',
                                               2,
                                               [{file,
                                                 "/opt/channelapi/_build/default/lib/lager/src/lager_transform.erl"},
                                                {line,116}]},
                                              {lager_transform,
                                               '-transform_statement/2-lc$^0/1-0-',
                                               2,
                                               [{file,
                                                 "/opt/channelapi/_build/default/lib/lager/src/lager_transform.erl"},
                                                {line,116}]},
                                              {lager_transform,
                                               transform_statement,2,
                                               [{file,
                                                 "/opt/channelapi/_build/default/lib/lager/src/lager_transform.erl"},
                                                {line,114}]},
                                              {lager_transform,
                                               '-transform_statement/2-lc$^0/1-0-',
                                               2,
                                               [{file,
                                                 "/opt/channelapi/_build/default/lib/lager/src/lager_transform.erl"},
                                                {line,116}]},
                                              {lager_transform,
                                               '-transform_statement/2-lc$^0/1-0-',
                                               2,
                                               [{file,
                                                 "/opt/channelapi/_build/default/lib/lager/src/lager_transform.erl"},
                                                {line,116}]}]}

make: *** [Makefile:24: compile] Error 1

Yeah, that's because OTP internals changed the way a location is defined (check https://github.com/erlang-lager/lager/pull/537 and https://github.com/erlang-lager/lager/pull/539), from line to line,column. You may have to bump to the latest lager since OTP 24's been more tested there.

authors: dubrovine paulo-ferraz-oliveira

repo: erlang-lager/lager


text:
VerneMQ website Prometheus configuration out of date?

From this page: https://vernemq.com/docs/monitoring/prometheus.html
scrape_configs:
  - job_name: 'vernemq'
    scrape_interval: 5s
    scrape_timeout: 5s
    target_groups:
      - targets: ['localhost:8888']

gives:
INFO[0000] Starting prometheus (version=1.0.1, branch=master, revision=be40190)  source=main.go:73
INFO[0000] Build context (go=go1.6.2, user=root@e881b289ce76, date=20160722-19:54:46)  source=main.go:74
INFO[0000] Loading configuration file /etc/prometheus/prometheus.yaml  source=main.go:206
ERRO[0000] Couldn't load configuration (-config.file=/etc/prometheus/prometheus.yaml): unknown fields in scrape_config: target_groups  source=main.go:218

with Prometheus 1.0.1. I believe target_groups has been replaced with static_configs.
scrape_configs:
  - job_name: 'vernemq'
    scrape_interval: 5s
    scrape_timeout: 5s
    static_configs:
      - targets: ['localhost:8888']

works fine for me.

Yes, that's exactly how it is. I forgot to update this in docs.
Thanks for your reminder @radekg :+1:

BTW, would it be worth adding a metrics prefix setting for prometheus? Similar to graphite_prefix? Maybe just a generic metric_prefix? WDYT?

I think so. Or rather:  I have to ask @dergraf what the graphite_prefix is all about? :) doesn't seem mandatory at least.

Would be really nice if one could prefix metrics just for export.

Yeah would be definitely good to have. Distinguishing all the metrics without the prefix becomes quite hard.

If that's a nice to have, I could try preparing a PR.

That's awesome & very welcome!  thank you :)

I see the page has been updated. Great stuff. I'll create a separate issue for the metrics thingie.

authors: dergraf ioolkos radekg

repo: erlio/vernemq


text:
GitRepo component

[ ] Clone a project from GitHub
[ ] Pull project from GitHub
[ ] Push project to GitHub
[ ] Extract keyboard id
[ ] Determine location in file system
[ ] Create branch

:dart: 4d

repo: ermshiperete/keyman-developer-online


text:
Allow registering schemas with URIs that are not absolute

This PR allows registering schemas with URIs that are not absolute, which was supported by the previous everit-json-schema library.  This will enable customers to upgrade their schemas to draft 2020-12 with the Confluent Schema Registry.
Fixes #54

Hello Robert, yes, it will happen this week, I will let you know.
On Wed, Feb 21, 2024, 18:09 Robert Yokota @.***> wrote:

Thanks @erosb https://github.com/erosb ! Would it be possible to get a
new release in the next couple of weeks?
—
Reply to this email directly, view it on GitHub
https://github.com/erosb/json-sKema/pull/65#issuecomment-1957340140, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AACCWBWGPNVHTTQZ3OW35YLYUYS5JAVCNFSM6AAAAABDSIPDPKVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSNJXGM2DAMJUGA
.
You are receiving this because you were mentioned.Message ID:
@.***>

Hello @rayokota , I published version 0.12.0 with your changes, it should be available on Maven Central in a few hours.

Thanks @erosb , I really appreciate it! :)

authors: erosb rayokota

repo: erosb/json-sKema


text:
🛑 QRGen Backend API is down

In b284258, QRGen Backend API (https://void.qr-gen.net/qr/health) was down:

HTTP code: 0
Response time: 0 ms

Resolved: QRGen Backend API is back up in 74e9599 after 17 minutes.

repo: error-try-again/QRGen-upptime


text:
Show diffs only when parsed code changes

Why one would care about an alteration of source code that isn't reflected in the final bundle? Such modules should be displayed as "intact" or maybe as some other, completely separate type?

I've decided to keep showing these modules as "modified". There is no change in size, so they are be positioned quite low on the list. Size change and code diff are displayed for sources that actually changed (ex. stat or original).

repo: erykpiast/webpack-stats-explorer


text:
can't get this to work

Installed with VSCode 1.9.1 on Ubuntu, reloaded, CTRL-SHIFT-P brings up VSCode's command palette, it doesn't format the code. Typing "prettier" in the command palette doesn't bring up anything. VSCode's Problems and Output panes don't show anything about Prettier, either.
Exact same problem with VSCode 1.10.2 on Mac OS. I've been using other VSCode plugins like Standard without problem. What's the trick to get prettier-vscode working?
Also, CMD-SHIFT-P is by default mapped to the command palette. Why use this for formatting?

Same here. My OS  - Ubuntu

It is bound to Format Document in Command palette. CTRL+SHIFT+I by default on Linux

Ahhh, that works. And ALT-SHIFT-F on the Mac. Thank you @CiGit!
Is CMD-SHIFT-P for Windows?

@CiGit any idea why when I format document with ctrl+ shift +i the formatting differs from when I format the same document via prettier CLI with --write? @pekeler could you check this on your linux setup, too?

@pekeler Windows: SHIFT+ALT+F by default

@dKab It may be:

Different config
Different prettier version (latest prettier-vscode is based on 0.22.0)
Additional vscode plugin which also transforms your code.

I'll close that issue. It has been answered and the README mentions it.
@dKab Please open a new issue if needed

The same on Windows 10. I use eslint-plugin-prettier with eslint-config-prettier and when I format document from vscode command palette (which you are saying invokes prettier when your extension is enabled) eslint still shows errors. However when I run prettier from command line eslint is silent.

I installed Prettier and restarted, but there is no >Format Document command. OSX. option + shift + F works, but think it's using the Visual Code default formatter..

This plugin registers itself as a formatter. Therefore it works using the built in Format Document

OK, thanks

Ahhh, that works. And ALT-SHIFT-F on the Mac. Thank you @CiGit!
Is CMD-SHIFT-P for Windows?

ALT-SHIFT-F  for Mac. Why not update the Readme?

authors: CiGit Maxhodges RobinMalfait dKab dongcai pekeler

repo: esbenp/prettier-vscode


text:
SKK test case

I = S(K)(K) is a common test case used to verify that type inference is working correctly.  We need to get this working before proceding further.

Codecov Report

Merging #12 (9d7f1bf) into main (e862f30) will increase coverage by 1.16%.
The diff coverage is 79.51%.

@@            Coverage Diff             @@
##             main      #12      +/-   ##
==========================================
+ Coverage   72.41%   73.57%   +1.16%
==========================================
  Files          16       16
  Lines        1468     1525      +57
  Branches      224      237      +13
==========================================
+ Hits         1063     1122      +59
+ Misses        405      403       -2

Files
Coverage Δ

src/Escalier.Data/Library.fs
45.66% <ø> (ø)

src/Escalier.Data/Visitor.fs
33.60% <100.00%> (ø)

src/Escalier.Parser/Expressions.fs
97.00% <100.00%> (+0.04%)
:arrow_up:

src/Escalier.TypeChecker/TypeVariable.fs
91.66% <ø> (ø)

src/Escalier.Parser/Library.fs
0.00% <0.00%> (ø)

src/Escalier.TypeChecker/Unify.fs
78.37% <86.66%> (+3.37%)
:arrow_up:

src/Escalier.TypeChecker/Infer.fs
78.55% <67.74%> (-0.85%)
:arrow_down:

... and 1 file with indirect coverage changes

authors: codecov-commenter kevinbarabash

repo: escalier-lang/escalier-next


text:
Bug: no-extraneous-import doesn't support import maps

Environment
Node version: 21
npm version:
ESLint version:
eslint-plugin-n version: v16.4.0
Operating System: macOS
What rule do you want to report?
no-extraneous-import
Link to Minimal Reproducible Example
https://eslint-online-playground.netlify.app/#eNp1kDFvwyAQhf+KRVfH3j1371J1KRkwnCJaw9EDqlaR/3sOiCPZUjbu3uPTu3cVkfQ4D19RTEL0dVJtsi4gpU6Kl1kWaYC4WJ9Is4yeDVfpO5bhL4E3UYqp++SpmiYCjc7xHowUPbvCki/WT37cKee+MYKiCPQWkkVfSZVd6dqpD6DIQtlLsagEMTF0c0TMpOH9P0AzODR54XfR1zufeLPn/mRkzhaaCKnlNJjn8vtcv0u/8uVB6W91gcPdrZ89tVRVMgzjVuQ+h4HfVwjleK/tIVFr7smRTTy1Fk+HKh5R1xvHDJTm
What did you expect to happen?
For it to resolve the package.json import map
Participation

[ ] I am willing to submit a pull request for this issue.

Additional comments
It only seems to check the dependency objects: https://github.com/eslint-community/eslint-plugin-n/blob/964cf65ff95a5e666037f056a6f27bfde754a758/lib/util/check-extraneous.js#L29-L33

Thank you for this report! I think #139 also fixes this (completely by accident) :eyes:
I have added a test and it seems to be covered!

Oh nice, thank you!
Out of curiosity: if pulling in enhanced-resolve to eslint-plugin-n, wouldn't there be a significant amount of overlap with https://github.com/import-js/eslint-plugin-import + https://github.com/markjm/eslint-import-resolver-enhanced-resolve ?
In what cases would someone prefer to use the import resolvers in this plugin over eslint-plugin-import?

mmm, that is a sound point!
I wonder if we should support the import resolver API. :thinking:
I do like the extensibility of that too

so can the plugins use the shared settings? sounds interesting! 👍

authors: aladdin-add privatenumber scagood

repo: eslint-community/eslint-plugin-n


text:
feat: add support for ES2025 duplicate named capturing groups

close #194
BREAKING CHANGE: add support for ES2025 duplicate named capturing groups

How does this handle backreferences? The resolved field points to the referenced capturing group, but this is no longer unique.

Thank you for letting me know! I think it's necessary as you say.
That should be treated as a breaking change, right?

That should be treated as a breaking change, right?

Maybe. You currently implemented resolved: CapturingGroup[] which is a breaking change. However, we could also use the same trick you used for Unicode set character classes in v-flag regexes. So we could do something like this:
type Backreference = AmbiguousBackreference | UnambiguousBackreference
interface BaseBackreference {
  type: "Backreference"
  // other props
  ambiguous: boolean
  resolved: CaptruingGroup | CaptruingGroup[]
}
interface AmbiguousBackreference extends BaseBackreference {
  ambiguous: true
  resolved: CaptruingGroup[]
}
interface UnambiguousBackreference extends BaseBackreference {
  ambiguous: false
  resolved: CaptruingGroup
}

The interface/property names could use some work, but I hope I communicated the idea. This wouldn't be a breaking change, because regexes without duplicate group names produce the same AST as before (except for the additional ambiguous: false property).
However, I'm not sure whether this AST is ideal. It's backwards compatible, but it's also a bit more tricky to understand.

Thank you! That's a good idea!
I think it's a good thing that it avoids breaking changes since it is additional information that is not related to the AST.

@eslint-community/core-team Can someone please review this PR?

authors: RunDevelopment ota-meshi

repo: eslint-community/regexpp


text:
feat: blog: A beginner's guide to ESLint

This guide is a beginner's introduction to ESLint. By the end of this guide the reader will understand what ESLint is, why it is useful and how to use it.

Thanks so much for the post. I've sent you a followup email.

authors: nzakas tawandamoyo


text:
esm is building modules with importing node:preact instead of npm:preact

For reference, node:<pkg> is only allowed to load native node modules and not third party modules. However, https://esm.sh/*preact-render-to-string@5.2.0?target=node&bundle -> https://esm.sh/v111/preact-render-to-string@5.2.0/X-ZS8q/node/preact-render-to-string.bundle.js has imports as node:preact. Same is happening with other packages like when using *swr (notice that * for external deps) and it targets node:react. I hope esm.sh can fix this "bug"  :)
As far as I can remember deno should fail to import these too as deno itself also uses npm prefix to import packages from npm.

in deno, you need to add "preact" to your import maps for the *preact-render-to-string pattern:
{
  "imports": {
    "preact-render-to-string": "https://esm.sh/*preact-render-to-string@5.2.0",
    "preact": "https://esm.sh/preact"
  }
}

i saw you are using the "node" target, where the "node:preact" come from?

I'm working on an experimental URL imports feature that downloads the files just like deno does and then imports them.
So if I'm not wrong, deno adds node:<pkg name> to their module name resolution if there's <pkg name> in import map? Let me know if this is the intended way so I can make changes to act the same way.

But as far as I'm aware, you shouldn't be using node:<pkg name> as they're reserved for native node modules and not third party npm packages 😅
If possible, please use npm:<pkg name> instead of node:<pkg name> for better consistency.

so can I close this? thanks

Did u fix it? If yes, then you can close it

authors: ije renhiyama


text:
Retrieve geo-information of image-files and show them in Map

Hi,
I love your plugin and I assume that there is big potential for it within the use of obsidian!!! :)
I recently came home from holiday and I am looking at my geotagged photos, which I took with my smartphone.
I would love to integrate that geoinformation of these photos in Obsidian and I hope that it would be possible through Map View.
It could work somehow like this:

import the image-files into Obsidian vault
create a new note, for example "journey XYZ" and link to the relevant image files from that note
Map View recognises that within the note "journey XYZ" there's a link to an image file and automatically retrieves the geotag-information of the image-files

... Do you think you could integrate that feature one day in Map View? :)
kind regards,
Silias

That's indeed a very nice feature, and I am sure that many users will find it useful.
Now, the bad news is that I don't think it will be done anytime soon as part of Map View, at least not by me, as there is so much to do and so little time :-(
However, there's also good news: given the open nature of Markdown, I see no reason to wait -- with some minimal coding you can achieve this immediately! It only requires a small script that would extract geolocations from image files and then add them as links to your notes.
In the days since you opened this issue I've been planning to check for the sport what happens if I ask ChatGPT to write such a script, I suspect it will get me very close to a working result, but wasn't able to try it out yet. If you happen to try, would love to see if it works (and other users will benefit from it too)!

Hi,
Thank you very much for your extensive answer!!! :)
Unfortunately I I have just little experience in coding, just a bit of C, C++ and VBA, but I'm really interested in expanding my knowledge especially in relation to obsidian. Therefore I also already did some Java script tutorials, trying to understand dataviewjs better.
You sound quite confident, that it shouldn't be a big challenge, so I'm very willing to try, but I have no idea where to start... :/
I would be very grateful if you could explain the frame of your coding-idea a bit to me to give me a direction where and how to start.
Questions I have are:

which coding language
how executing within Obsidian (with templater?)

Thank you and kind regards,
Silias :)
Am 15. Juli 2023 05:39:05 MESZ schrieb esm7 @.***>:

That's indeed a very nice feature, and I am sure that many users will find it useful.
Now, the bad news is that I don't think it will be done anytime soon as part of Map View, at least not by me, as there is so much to do and so little time :-(
However, there's also good news: given the open nature of Markdown, I see no reason to wait -- with some minimal coding you can achieve this immediately! It only requires a small script that would extract geolocations from image files and then add them as links to your notes.
In the days since you opened this issue I've been planning to check for the sport what happens if I ask ChatGPT to write such a script, I suspect it will get me very close to a working result, but wasn't able to try it out yet. If you happen to try, would love to see if it works (and other users will benefit from it too)!
--
Reply to this email directly or view it on GitHub:
https://github.com/esm7/obsidian-map-view/issues/174#issuecomment-1636643362
You are receiving this because you authored the thread.
Message ID: @.***>


text:
Should we remove the embedded-hal-nb trait implementations?

I checked the dependent crates for this package and almost all of them are HALs, there were maybe a single-digit number of device drivers which actually implemented this traits. None of these drivers seemed to have an especially large number of downloads.
I never personally hear of or see people using these trait implementations.
What are we gaining by keeping these trait implementations? Or are we just carrying around extra baggage for the sake of it?

I agree they are probably not super useful these days. On the other hand, I think they don't add a lot of maintenance burden and even embassy_stm32 still implements the traits
But t.b.h. I don't have a strong opinion on this

They are good for non-async code that use event loops, as async and sync are like two worlds in Rust. Especially for DMA I think.

Imo there is no harm in keeping them, if they start to become a maintenance burden we can revisit this decision.

authors: MabezDev ProfFan bjoernQ jessebraham

repo: esp-rs/esp-hal