Cant build dependencies on arch arm (rpi2)

Expected behaviour
Can't install pip install opencv-python-headlesson raspberry 2 with latest arch linux.
Actual behaviour
while compiling dependencies following errors log is shown:

Installing build dependencies ... error
ERROR: Command errored out with exit status 1:
command: /usr/bin/python /usr/lib/python3.9/site-packages/pip install --ignore-installed --no-user --prefix /tmp/pip-build-env-wzty0a6w/overlay --no-warn-script-location --no-binary :none: --only-binary :none: -i https://pypi.org/simple -- setuptools wheel scikit-build cmake pip 'numpy==1.13.3; python_version=='"'"'3.6'"'"'' 'numpy==1.14.5; python_version=='"'"'3.7'"'"'' 'numpy==1.17.3; python_version=='"'"'3.8'"'"'' 'numpy==1.19.3; python_version>='"'"'3.9'"'"''
cwd: None
Complete output (246 lines):
Ignoring numpy: markers 'python_version == "3.6"' don't match your environment
Ignoring numpy: markers 'python_version == "3.7"' don't match your environment
Ignoring numpy: markers 'python_version == "3.8"' don't match your environment
Collecting setuptools
Using cached setuptools-51.1.1-py3-none-any.whl (2.0 MB)
Collecting wheel
Using cached wheel-0.36.2-py2.py3-none-any.whl (35 kB)
Collecting scikit-build
Using cached scikit_build-0.11.1-py2.py3-none-any.whl (72 kB)
Collecting cmake
Using cached cmake-3.18.4.post1.tar.gz (28 kB)
Installing build dependencies: started
Installing build dependencies: finished with status 'done'
Getting requirements to build wheel: started
Getting requirements to build wheel: finished with status 'done'
Preparing wheel metadata: started
Preparing wheel metadata: finished with status 'done'
Collecting pip
Using cached pip-20.3.3-py2.py3-none-any.whl (1.5 MB)
Collecting numpy==1.19.3
Using cached numpy-1.19.3.zip (7.3 MB)
Installing build dependencies: started
Installing build dependencies: finished with status 'done'
Getting requirements to build wheel: started
Getting requirements to build wheel: finished with status 'done'
Preparing wheel metadata: started
Preparing wheel metadata: still running...
Preparing wheel metadata: finished with status 'error'
ERROR: Command errored out with exit status 1:
command: /usr/bin/python /usr/lib/python3.9/site-packages/pep517/_in_process.py prepare_metadata_for_build_wheel /tmp/tmpvdntar_t
cwd: /tmp/pip-install-4401hksq/numpy
Complete output (212 lines):
Running from numpy source directory.
setup.py:480: UserWarning: Unrecognized setuptools command, proceeding with generating Cython sources and expanding templates
run_build = parse_setuppy_commands()
Processing numpy/random/_bounded_integers.pxd.in
Processing numpy/random/mtrand.pyx
Processing numpy/random/_pcg64.pyx
Processing numpy/random/bit_generator.pyx
Processing numpy/random/_sfc64.pyx
Processing numpy/random/_common.pyx
Processing numpy/random/_bounded_integers.pyx.in
Processing numpy/random/_philox.pyx
Processing numpy/random/_generator.pyx
Processing numpy/random/_mt19937.pyx
Cythonizing sources
blas_opt_info:
blas_mkl_info:
customize UnixCCompiler
libraries mkl_rt not found in ['/usr/local/lib', '/usr/lib']
NOT AVAILABLE
  blis_info:
    libraries blis not found in ['/usr/local/lib', '/usr/lib']
    NOT AVAILABLE

  openblas_info:
    libraries openblas not found in ['/usr/local/lib', '/usr/lib']
    NOT AVAILABLE

  atlas_3_10_blas_threads_info:
  Setting PTATLAS=ATLAS
    libraries tatlas not found in ['/usr/local/lib', '/usr/lib']
    NOT AVAILABLE

  atlas_3_10_blas_info:
    libraries satlas not found in ['/usr/local/lib', '/usr/lib']
    NOT AVAILABLE

  atlas_blas_threads_info:
  Setting PTATLAS=ATLAS
    libraries ptf77blas,ptcblas,atlas not found in ['/usr/local/lib', '/usr/lib']
    NOT AVAILABLE

  atlas_blas_info:
    libraries f77blas,cblas,atlas not found in ['/usr/local/lib', '/usr/lib']
    NOT AVAILABLE

  accelerate_info:
    NOT AVAILABLE

  /tmp/pip-install-4401hksq/numpy/numpy/distutils/system_info.py:1914: UserWarning:
      Optimized (vendor) Blas libraries are not found.
      Falls back to netlib Blas library which has worse performance.
      A better performance should be easily gained by switching
      Blas library.
    if self._calc_info(blas):
  blas_info:
  C compiler: gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -march=armv7-a -mfloat-abi=hard -mfpu=vfpv3-d16 -O3 -pipe -fno-plt -fno-semantic-interposition -march=armv7-a -mfloat-abi=hard -mfpu=vfpv3-d16 -O3 -pipe -fno-plt -march=armv7-a -mfloat-abi=hard -mfpu=vfpv3-d16 -O3 -pipe -fno-plt -fPIC

  creating /tmp/tmpjzlcygu4/tmp
  creating /tmp/tmpjzlcygu4/tmp/tmpjzlcygu4
  compile options: '-I/usr/local/include -I/usr/include -c'
  gcc: /tmp/tmpjzlcygu4/source.c
    FOUND:
      libraries = ['blas', 'blas']
      library_dirs = ['/usr/lib']
      include_dirs = ['/usr/local/include', '/usr/include']

    FOUND:
      define_macros = [('NO_ATLAS_INFO', 1)]
      libraries = ['blas', 'blas']
      library_dirs = ['/usr/lib']
      include_dirs = ['/usr/local/include', '/usr/include']

  non-existing path in 'numpy/distutils': 'site.cfg'
  lapack_opt_info:
  lapack_mkl_info:
    libraries mkl_rt not found in ['/usr/local/lib', '/usr/lib']
    NOT AVAILABLE

  openblas_lapack_info:
    libraries openblas not found in ['/usr/local/lib', '/usr/lib']
    NOT AVAILABLE

  openblas_clapack_info:
    libraries openblas,lapack not found in ['/usr/local/lib', '/usr/lib']
    NOT AVAILABLE

  flame_info:
    libraries flame not found in ['/usr/local/lib', '/usr/lib']
    NOT AVAILABLE

  atlas_3_10_threads_info:
  Setting PTATLAS=ATLAS
    libraries lapack_atlas not found in /usr/local/lib
    libraries tatlas,tatlas not found in /usr/local/lib
    libraries lapack_atlas not found in /usr/lib
    libraries tatlas,tatlas not found in /usr/lib
  <class 'numpy.distutils.system_info.atlas_3_10_threads_info'>
    NOT AVAILABLE

  atlas_3_10_info:
    libraries lapack_atlas not found in /usr/local/lib
    libraries satlas,satlas not found in /usr/local/lib
    libraries lapack_atlas not found in /usr/lib
    libraries satlas,satlas not found in /usr/lib
  <class 'numpy.distutils.system_info.atlas_3_10_info'>
    NOT AVAILABLE

  atlas_threads_info:
  Setting PTATLAS=ATLAS
    libraries lapack_atlas not found in /usr/local/lib
    libraries ptf77blas,ptcblas,atlas not found in /usr/local/lib
    libraries lapack_atlas not found in /usr/lib
    libraries ptf77blas,ptcblas,atlas not found in /usr/lib
  <class 'numpy.distutils.system_info.atlas_threads_info'>
    NOT AVAILABLE

  atlas_info:
    libraries lapack_atlas not found in /usr/local/lib
    libraries f77blas,cblas,atlas not found in /usr/local/lib
    libraries lapack_atlas not found in /usr/lib
    libraries f77blas,cblas,atlas not found in /usr/lib
  <class 'numpy.distutils.system_info.atlas_info'>
    NOT AVAILABLE

  lapack_info:
    FOUND:
      libraries = ['lapack', 'lapack']
      library_dirs = ['/usr/lib']
      language = f77

    FOUND:
      libraries = ['lapack', 'lapack', 'blas', 'blas']
      library_dirs = ['/usr/lib']
      language = f77
      define_macros = [('NO_ATLAS_INFO', 1)]
      include_dirs = ['/usr/local/include', '/usr/include']

  /usr/lib/python3.9/distutils/dist.py:274: UserWarning: Unknown distribution option: 'define_macros'
    warnings.warn(msg)
  running dist_info
  running build_src
  build_src
  building py_modules sources
  creating build
  creating build/src.linux-armv7l-3.9
  creating build/src.linux-armv7l-3.9/numpy
  creating build/src.linux-armv7l-3.9/numpy/distutils
  building library "npymath" sources
  Could not locate executable gfortran
  Could not locate executable f95
  Could not locate executable ifort
  Could not locate executable ifc
  Could not locate executable lf95
  Could not locate executable pgfortran
  Could not locate executable nvfortran
  Could not locate executable f90
  Could not locate executable f77
  Could not locate executable fort
  Could not locate executable efort
  Could not locate executable efc
  Could not locate executable g77
  Could not locate executable g95
  Could not locate executable pathf95
  Could not locate executable nagfor
  don't know how to compile Fortran code on platform 'posix'
  Traceback (most recent call last):
    File "/usr/lib/python3.9/site-packages/pep517/_in_process.py", line 280, in <module>
      main()
    File "/usr/lib/python3.9/site-packages/pep517/_in_process.py", line 263, in main
      json_out['return_val'] = hook(**hook_input['kwargs'])
    File "/usr/lib/python3.9/site-packages/pep517/_in_process.py", line 133, in prepare_metadata_for_build_wheel
      return hook(metadata_directory, config_settings)
    File "/tmp/pip-build-env-_8b62nrt/overlay/lib/python3.9/site-packages/setuptools/build_meta.py", line 157, in prepare_metadata_for_build_wheel
      self.run_setup()
    File "/tmp/pip-build-env-_8b62nrt/overlay/lib/python3.9/site-packages/setuptools/build_meta.py", line 248, in run_setup
      super(_BuildMetaLegacyBackend,
    File "/tmp/pip-build-env-_8b62nrt/overlay/lib/python3.9/site-packages/setuptools/build_meta.py", line 142, in run_setup
      exec(compile(code, __file__, 'exec'), locals())
    File "setup.py", line 508, in <module>
      setup_package()
    File "setup.py", line 500, in setup_package
      setup(**metadata)
    File "/tmp/pip-install-4401hksq/numpy/numpy/distutils/core.py", line 169, in setup
      return old_setup(**new_attr)
    File "/tmp/pip-build-env-_8b62nrt/overlay/lib/python3.9/site-packages/setuptools/__init__.py", line 165, in setup
      return distutils.core.setup(**attrs)
    File "/usr/lib/python3.9/distutils/core.py", line 148, in setup
      dist.run_commands()
    File "/usr/lib/python3.9/distutils/dist.py", line 966, in run_commands
      self.run_command(cmd)
    File "/usr/lib/python3.9/distutils/dist.py", line 985, in run_command
      cmd_obj.run()
    File "/tmp/pip-build-env-_8b62nrt/overlay/lib/python3.9/site-packages/setuptools/command/dist_info.py", line 31, in run
      egg_info.run()
    File "/tmp/pip-install-4401hksq/numpy/numpy/distutils/command/egg_info.py", line 24, in run
      self.run_command("build_src")
    File "/usr/lib/python3.9/distutils/cmd.py", line 313, in run_command
      self.distribution.run_command(command)
    File "/usr/lib/python3.9/distutils/dist.py", line 985, in run_command
      cmd_obj.run()
    File "/tmp/pip-install-4401hksq/numpy/numpy/distutils/command/build_src.py", line 144, in run
      self.build_sources()
    File "/tmp/pip-install-4401hksq/numpy/numpy/distutils/command/build_src.py", line 155, in build_sources
      self.build_library_sources(*libname_info)
    File "/tmp/pip-install-4401hksq/numpy/numpy/distutils/command/build_src.py", line 288, in build_library_sources
      sources = self.generate_sources(sources, (lib_name, build_info))
    File "/tmp/pip-install-4401hksq/numpy/numpy/distutils/command/build_src.py", line 378, in generate_sources
      source = func(extension, build_dir)
    File "numpy/core/setup.py", line 663, in get_mathlib_info
      raise RuntimeError("Broken toolchain: cannot link a simple C program")
  RuntimeError: Broken toolchain: cannot link a simple C program
  ----------------------------------------

ERROR: Command errored out with exit status 1: /usr/bin/python /usr/lib/python3.9/site-packages/pep517/_in_process.py prepare_metadata_for_build_wheel /tmp/tmpvdntar_t Check the logs for full command output.
ERROR: Command errored out with exit status 1: /usr/bin/python /usr/lib/python3.9/site-packages/pip install --ignore-installed --no-user --prefix /tmp/pip-build-env-wzty0a6w/overlay --no-warn-script-location --no-binary :none: --only-binary :none: -i https://pypi.org/simple -- setuptools wheel scikit-build cmake pip 'numpy==1.13.3; python_version=='"'"'3.6'"'"'' 'numpy==1.14.5; python_version=='"'"'3.7'"'"'' 'numpy==1.17.3; python_version=='"'"'3.8'"'"'' 'numpy==1.19.3; python_version>='"'"'3.9'"'"'' Check the logs for full command output.

Steps to reproduce
Install arch rpi2 image
pacman -Syu cmake python python-numpy pip
pip install opencv-python-headless
Issue submission checklist

[x] This is not a generic OpenCV usage question (looking for help for coding, other usage questions, homework etc.)

[x] I have read the README of this repository and understand that this repository provides only an automated build toolchain for OpenCV Python packages (there is no actual OpenCV code here)

[x] The issue is related to the build scripts in this repository, to the pre-built binaries or is a feature request (such as "please enable this additional dependency")

[x] I'm using the latest version of opencv-python

There is no pre-built numpy or opencv-python-headless wheels for Raspberry Pi (arm) + Arch linux combo. You have to install the full development tool package and all possible dependencies to your system. This is indicated by the numpy error:
RuntimeError: Broken toolchain: cannot link a simple C program
Probably at least base-devel is missing. This issue is out of the scope of this repository. Please refer to your Linux distribution guides on how to build packages from sources.

Thanks skvark - my mistake. Got mixed up with the device where base-devel was not installed (which I had assumed but not verified..)


Transaction evaluation using libauth

Libauth has a builtin VM implementation that can be used to locally evaluate a transaction before sending it to the network. We use this in the automated tests for AnyHedge and it would be great to include that functionality in the CashScript SDK.

We can close this issue as we now use Libauth for local transaction evaultion for the CashScript debugging tooling.
This was merged today and released in v0.10.0 🥳


[FLINK-30844][runtime] Increased TASK_CANCELLATION_TIMEOUT for testInterruptibleSharedLockInInvokeAndCancel

What is the purpose of the change
Fixing testInterruptibleSharedLockInInvokeAndCancel test
Brief change log

Increased TASK_CANCELLATION_TIMEOUT for testInterruptibleSharedLockInInvokeAndCancel since it looks that on the overloaded machine the current timeout is too small

Verifying this change
It is test itself
Does this pull request potentially affect one of the following parts:

Dependencies (does it add or upgrade a dependency): (yes / no)
The public API, i.e., is any changed class annotated with @Public(Evolving): (yes / no)
The serializers: (yes / no / don't know)
The runtime per-record code paths (performance sensitive): (yes / no / don't know)
Anything that affects deployment or recovery: JobManager (and its components), Checkpointing, Kubernetes/Yarn, ZooKeeper: (yes / no / don't know)
The S3 file system connector: (yes / no / don't know)

Documentation

Does this pull request introduce a new feature? (yes / no)
If yes, how is the feature documented? (not applicable / docs / JavaDocs / not documented)

@pnowojski , Could you take a look at this PR, please? I just increased the timeout since I didn't find any deadlocks or other suspicious things. It seems the test sometimes fails on the overloaded machines only because of this timeout.


Ques about ablation

How much improvement will be gained by switching centerpoint's backbone from original structure to CSPRepVGG or CSPRep-Res34?
    neck=dict(
        type="RPN",
        layer_nums=[3, 5, 5],
        ds_layer_strides=[2, 2, 2],
        ds_num_filters=[64, 128, 256],
        us_layer_strides=[0.5, 1, 2],
        us_num_filters=[128, 128, 128],
        num_input_features=64,
        logger=logging.getLogger("RPN"),
    ),

We didn't conduct this ablation experiment because there are many different variables compared to the original CenterPoint. For example, CenterPoint-Voxel is a voxel-based backbone using spconv3d, while we are a pillar-based backbone using dense conv2d. Besides, CenterPoint-Voxel adopts voxel-feature-encoder (VFE), while we use pillar-feature-encoder (PFE). Additionally, our neck module is also different. Please refer to our paper for more details.

Hi, thx for u reply. Maybe we have different views on details.
Assuming the code are based on det3d framework, compare with official centerpoint cfg, the diff are from reader (diff PFE) and neck (diff backbone and real neck?). If I'm not mistaken.
However, for the 3 contributes:

MAFE gain 0.6 map improvement.
The backbone and neck, if we consider it as one model, from Tab.2, it bring almost 10 map improvement, compare with CP-PointPillars.

I'm confuse about the result, since you use the dense structure in PillarNet's sparse frame.
So, how many map is gained from powerful 2D Dense CNN Backbone? How many map is gained from neck (2x of pontpillar, 8x for pillarnet and yours)? However, the high degree of structural coupling makes it difficult to quantify the differences.

Thx for you kind reply.


Add some helpful functions for getting attachments

Pull Request Etiquette

[x] I have checked the PRs for upcoming features/bug fixes.
[x] I have read the contributing guidelines.

Changes

[x] Internal code
[ ] Library interface (affecting end-user code)
[x] Documentation
[ ] Other: _____

Closes Issue: NaN
Description
This PR adds some extra functions to make getting specific attachments easier, it also includes a function to check if the message actually has attachments.
PS: I hope the documentation is good enough ;)

Thank you, but we generally do not implement methods that can be replaced by trivial stream operations. We do not want to bloat the interface with a lot of unnecessary helper methods.

Thank you, but we generally do not implement methods that can be replaced by trivial stream operations. We do not want to bloat the interface with a lot of unnecessary helper methods.

What if i make an event for it? Like an AttachmentReceivedEvent

Events are generally mapped to Discord events, and there is no such AttachmentReceivedEvent, you're better off just making a util class in your project

That would be a very unnecessary addition since it would only remove a single boolean check in user code. You trade a single line of code for:

An extra function in ListenerAdapter (complexity and memory overhead)
An extra class to load at runtime (CPU time and memory overhead)
Cognitive complexity (Why does this event exist? Does that mean normal message received has no attachment support? When do you receive this?)

Instead, a user can simply use a guard statement:
if (event.getMessage().getAttachments().isEmpty()) return;


RATIS-868. Fix Failed UT: TestRaftWithSimulatedRpc#testWithLoad

What changes were proposed in this pull request?
What's the problem ?
The threads in one RequestHandler only process the requests which were sent to one server such as s2.
So request1 from s1 to s2, request2 from s3 to s2 are both processed by one RequestHandler.
When change oldLeader such as s1, if q.takeRequest() return request1, request1.getRequestorId() will return s1, because blockTakeRequestFrom was set true when changeLeader, so thread was blocked at  RaftTestUtil.block(reqQ.blockTakeRequestFrom::get), if a lot of request from s1 to s2, then all the threads in RequestHandler will be blocked, and the request from other server to s2 can not be sent by the blocked thread. So new leader can not be elected.
How to fix ?
When block oldLeader such as s1, we can discard all the request sent by s1 to other servers.
What is the link to the Apache JIRA
https://issues.apache.org/jira/browse/RATIS-868
How was this patch tested?
Existed test.

@bshashikant @lokeshj1703 Could you help review this patch ? Thank you very much.

@runzhiwang Thanks for the contribution! I have committed it to master branch.


Allow filtering by multiple space-separated tokens

I use profile names of the form product_env_rolename_region, so it's
often useful to search for something like "dev us-east-1". Since spaces
aren't allowed in profile names, this should be completely
backwards-compatible.

🙌 just tested this and found it extremely user friendly. Thanks so much for the contribution @alexjurkiewicz!


WIP: Filter expressions

Here is a first crack at making it possible to do nice things like:
queryset.filter(Exists(subquery))

Also:
queryset.annotate(foo=Case(When(Exists(subquery), then=...))

I'm well aware of the superficial issues with this PR (imports and the like). What I want to know is if this is an appropriate approach to implement filter expressions.
@jarshwah and I have been discussing this for some time: we thought there might be a whole lot more work to it than this, but it seems to me that we can just inject some logic in to explicitly handle Expression objects, as long as they have an output_field that is a BooleanField.

A few things off the top of my head:

Does this also work with exclude()?
Does it handle __related fields?
Do regular lookups (perhaps by adding a boolean output_field) work in the same way?

This is really cool though. I expected there to be a lot more work involved.

Yes. .exclude(Exists(foo)), and also .filter(~Exists(...)), and .exclude(~Exists(...)) all appear to work.
I'm not sure about the other two: can you elaborate on what sort of queries you mean? Anything that is an expression that has an output_field that is a boolean should work.

Never mind - Exists takes a queryset which sets up joins etc.

Does using Lookups as Expressions work? See:

from django.db.models.lookups import GreaterThan
# Lookups don't currently define an output_field, but if they did..
Model.objects.filter(GreaterThan('counter', 3))

Okay, @funkybob just showed me a pair of EXPLAINs that shows an order of magnitude improvement by only having the EXISTS in the WHERE clause, rather than in the select.
I'm surprised, as I thought postgres would do a better job of optimising this.
With EXISTS in SELECT: https://explain.depesz.com/s/xaH
With EXISTS only in WHERE: https://explain.depesz.com/s/nc9m

@jarshwah Currently Model.objects.filter(GreaterThan('foo', 2)) fails, because the Lookup object doesn't like a string (or an F, actually).

I think we could possibly avoid the need for a Lookup to define an output_field: wouldn't all lookups imply they are a boolean output? If so, we can allow any Lookup in a filter.

Hmm. I'm not sure it's possible without quite a lot of work to do anything with a Lookup, as it is passed something as lhs that already has an output_field, and without that, we can't even instantiate a GreaterThan.

I am a person and I approve of this feature :)

Oxford comma. The best type of comma.
👌 I'm a fan, though I'm not sure Django has an official policy.

Let's get this one merged I reckon. I've made a suggestion for a small improvement, but that's probably all it needs. Couldn't find the ticket (easily) so a link here or a number would be aces.

Finally found the issue: https://code.djangoproject.com/ticket/25367

Thanks for your work on this @schinckel! It's great to see no invasive changes are required to make this work appropriately!

buildbot, test on oracle

Matthew, if you'd like some assistance with the Oracle failures, maybe @felixxm can help.
======================================================================
ERROR: test_case_valid_in_filter_if_boolean_output_field (expressions.tests.BasicExpressionsTests)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/tim/code/django/django/db/backends/utils.py", line 85, in _execute
    return self.cursor.execute(sql, params)
  File "/home/tim/code/django/django/db/backends/oracle/base.py", line 510, in execute
    return self.cursor.execute(query, self._param_generator(params))
cx_Oracle.DatabaseError: ORA-00920: invalid relational operator

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/home/tim/code/django/tests/expressions/tests.py", line 602, in test_case_valid_in_filter_if_boolean_output_field
    ordered=False
  File "/home/tim/code/django/django/test/testcases.py", line 931, in assertQuerysetEqual
    items = map(transform, qs)
  File "/home/tim/code/django/django/db/models/query.py", line 267, in __iter__
    self._fetch_all()
  File "/home/tim/code/django/django/db/models/query.py", line 1171, in _fetch_all
    self._result_cache = list(self._iterable_class(self))
  File "/home/tim/code/django/django/db/models/query.py", line 53, in __iter__
    results = compiler.execute_sql(chunked_fetch=self.chunked_fetch, chunk_size=self.chunk_size)
  File "/home/tim/code/django/django/db/models/sql/compiler.py", line 1053, in execute_sql
    cursor.execute(sql, params)
  File "/home/tim/code/django/django/db/backends/utils.py", line 68, in execute
    return self._execute_with_wrappers(sql, params, many=False, executor=self._execute)
  File "/home/tim/code/django/django/db/backends/utils.py", line 77, in _execute_with_wrappers
    return executor(sql, params, many, context)
  File "/home/tim/code/django/django/db/backends/utils.py", line 85, in _execute
    return self.cursor.execute(sql, params)
  File "/home/tim/code/django/django/db/utils.py", line 89, in __exit__
    raise dj_exc_value.with_traceback(traceback) from exc_value
  File "/home/tim/code/django/django/db/backends/utils.py", line 85, in _execute
    return self.cursor.execute(sql, params)
  File "/home/tim/code/django/django/db/backends/oracle/base.py", line 510, in execute
    return self.cursor.execute(query, self._param_generator(params))
django.db.utils.DatabaseError: ORA-00920: invalid relational operator

======================================================================
ERROR: test_exists_in_filter (expressions.tests.BasicExpressionsTests)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/tim/code/django/django/db/backends/utils.py", line 85, in _execute
    return self.cursor.execute(sql, params)
  File "/home/tim/code/django/django/db/backends/oracle/base.py", line 510, in execute
    return self.cursor.execute(query, self._param_generator(params))
cx_Oracle.DatabaseError: ORA-00920: invalid relational operator

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/home/tim/code/django/tests/expressions/tests.py", line 591, in test_exists_in_filter
    self.assertCountEqual(outer_2, outer_1)
  File "/opt/python3.6.4/lib/python3.6/unittest/case.py", line 1165, in assertCountEqual
    first_seq, second_seq = list(first), list(second)
  File "/home/tim/code/django/django/db/models/query.py", line 267, in __iter__
    self._fetch_all()
  File "/home/tim/code/django/django/db/models/query.py", line 1171, in _fetch_all
    self._result_cache = list(self._iterable_class(self))
  File "/home/tim/code/django/django/db/models/query.py", line 53, in __iter__
    results = compiler.execute_sql(chunked_fetch=self.chunked_fetch, chunk_size=self.chunk_size)
  File "/home/tim/code/django/django/db/models/sql/compiler.py", line 1053, in execute_sql
    cursor.execute(sql, params)
  File "/home/tim/code/django/django/db/backends/utils.py", line 68, in execute
    return self._execute_with_wrappers(sql, params, many=False, executor=self._execute)
  File "/home/tim/code/django/django/db/backends/utils.py", line 77, in _execute_with_wrappers
    return executor(sql, params, many, context)
  File "/home/tim/code/django/django/db/backends/utils.py", line 85, in _execute
    return self.cursor.execute(sql, params)
  File "/home/tim/code/django/django/db/utils.py", line 89, in __exit__
    raise dj_exc_value.with_traceback(traceback) from exc_value
  File "/home/tim/code/django/django/db/backends/utils.py", line 85, in _execute
    return self.cursor.execute(sql, params)
  File "/home/tim/code/django/django/db/backends/oracle/base.py", line 510, in execute
    return self.cursor.execute(query, self._param_generator(params))
django.db.utils.DatabaseError: ORA-00920: invalid relational operator
``

Yeah, that would be good. I don’t really have an Oracle setup.

np, I will try to check this at the weekend.

@schinckel Oracle doesn't allow booleans in the SELECT list that's why we wrap it with a CASE WHEN ... expression (see Exists.as_oracle()). Therefore an query is incorrect on Oracle e.g. in the test_exists_in_filter():
>>> outer_1 = Employee.objects.filter(Exists(inner))
>>> print(outer_1.query)
SELECT
    "EXPRESSIONS_EMPLOYEE"."ID",
    "EXPRESSIONS_EMPLOYEE"."FIRSTNAME",
    "EXPRESSIONS_EMPLOYEE"."LASTNAME",
    "EXPRESSIONS_EMPLOYEE"."SALARY"
FROM
    "EXPRESSIONS_EMPLOYEE"
WHERE
   CASE
       WHEN EXISTS(
           SELECT U0."ID"
           FROM "EXPRESSIONS_COMPANY" U0
           WHERE U0."CEO_ID" = ("EXPRESSIONS_EMPLOYEE"."ID")
       )
       THEN 1
       ELSE 0
   END

It seems that the easiest solution will be to compare it always with True, i.e.:
WHERE CASE WHEN EXISTS(...) THEN 1 ELSE 0 END = True
WHERE CASE WHEN NOT EXISTS(...) THEN 1 ELSE 0 END = True

this should work also on other backends (without wrapping):
WHERE EXISTS(...) = True
WHERE NOT EXISTS(...) = True

I'd be great if you could avoid the = True on backends not requiring it. I suggest we use a database feature to determine whether or not it should be added instead of unconditionally adding it.

I'd prefer this too, but I'm not sure how to do that: we need to know at the time of generating the SQL where the clause is in a query, but we don't know this then, only at the time it is resolved (from what I can see).

Okay, we can mark a given Exists as being used within a WHERE, and then handle in the as_oracle.
I have no idea if this will work: this syntax was forbidden in Postgres.

@schinckel I'm afraid the issue is not only with Exists expression but with all the conditional ones.
What I suggest we do is pass a new for_where=True (better name welcome) to resolve_expression (like we with for_save) and use it to store state on the expression.
Base on this state and connection.features.allows_boolean_expression_in_where (better name welcome) the as_sql method could be adjusted to turn the SQL into '%s = %%s' % sql and the params into params += (True,).
BaseExpression.resolve_expression could then even perform the if for_where and not self.conditional: raise TypeError('Only conditional expression are allowed in filter() calls') so Query.build_filter doesn't have know about getattr(filter_expr, 'conditional', False).

@charettes @schinckel  To be precise, Oracle support boolean values in a WHERE clause (without comparison) but it doesn't support them in a SELECT clause, i.e. if we will know that expression is used in WHERE clause then we don't need to wrap it with a CASE WHEN ...  on Oracle, because WHERE EXISTS(...) and WHERE NOT EXISTS(...) will work as expected. After consideration :thinking:  I think we can fix this in a simpler way, by changing Exists.as_oracle() to:
def as_oracle(self, compiler, connection, template=None, **extra_context):
    # Oracle doesn't allow EXISTS() in the SELECT list, so wrap it with a
    # CASE WHEN expression. Change the template since the When expression
    # requires a left hand side (column) to compare against.
    sql, params = self.as_sql(compiler, connection, template, **extra_context)
    if not self._used_in_where:
        sql = 'CASE WHEN {} THEN 1 ELSE 0 END'.format(sql)
    return sql, params

I didn't find this wrapping elsewhere, hence I'm not sure if other conditionals are affected.

To be precise, Oracle support boolean values in a WHERE clause (without comparison) but it doesn't support them in a SELECT clause

Ahh thanks for clarification!
I still think that the _used_in_where approach is really hacky and that we should favor passing another kwarg to resolve_expression instead. Either for_select or for_save but annotating a private attribute is really an odd API.

Yeah, I didn't like the approach either.

@felixxm I think that's the right logic.
@charettes Do you think that's a better way to do this?

@charettes Sorry, I missed your prior comment. I'll have a look later at making it apply to all conditionals.

@schinckel Agreed. LGTM💪🚀

buildbot, test on oracle.

I think it needs a test for other conditionals.

Yeah, I have a failing test now on a Case(When()) in a .filter().

Oh, that's nice. Adding in the for_where showed up a test case that had a .annotate().filter() using an ExpressionWrapper(Q(...)), which is also now valid to use directly in a .filter().

It looks like the addition of for_where requires a deprecation to support custom expressions that don't accept the new argument. Please update the documentation also: https://docs.djangoproject.com/en/dev/ref/models/expressions/#django.db.models.Expression.resolve_expression. If it makes sense to put those changes in a separate PR that precedes the rest of this, that would ease review.

Okay, attempted to rebase: must have to make some more changes.

sqlite3 windows failing with python 3.7 seems not related to this pr.

Can anyone shed any light on that failure?
ModuleNotFoundError: No module named 'memcache'

ModuleNotFoundError: No module named 'memcache'

https://stackoverflow.com/questions/41575601/importerror-no-module-named-memcache-django-project
does this help?

Hey, how are things going with this one? It would be great to see Django allowing to filter directly with Exists i.e. queryset.filter(Exists(subquery)). It's sad to see this PR hanging for more than 2 years now. @schinckel are you still willing to work on this? I'd be happy to help!

I'm fine with someone else finishing this!

@schinckel I rebased your branch, updated the docs and release notes as it was requested. Tests are passing locally on tox.
The rebase is available here. I will let you rebase you branch from mine or you can add me as a contributor to your fork so I can push the changes there.
Let me know. Thanks for the work you have done!

The pull request is now rebased and docs were updated as well.

I merged #11652 (Thanks Simon!) we should be able to get rid of for_where workaround.

The pull request was updated against the latest reviews 👍

I squashed commits, rebased from master, pushed minor edits, and:

added support for & operator,
added some tests,
moved unrelated docs changes to a separate PR #11716.

I'm going to continue this tomorrow to make final edits (in docs and tests), to add more tests, and to check remaining comments.

Thanks @felixxm! I'm very busy so I didn't get any time to make changes on the PR and we really need such feature.

PR didn't work properly on Oracle because it supports only filters and EXISTS in the WHERE clause, other must be compared with True. I added workaround that IMO is acceptable.

buildbot, test on oracle.

@jarshwah Can you take a look at c0e3254ab2df6449ecf4e8dc5ecee7b7d33795aa?

I pushed all edits.

buildbot, test on oracle.

buildbot, test on oracle.

Thanks y'all :tada: :confetti_ball:

I was doing a bit of archaeology and I stumbled on https://github.com/django/django/pull/4801#issuecomment-139961828.
We're not currently affected by that since we don't expose expressions such as GreaterThanOrEqual, e.g. lookups are not currently expressions, but if we were to add support for things like #12041 which does exactly that we'd likely be affected by this issue.


poof uses secure-delete if available

poof uses secure-delete if available.
macOS:  Requires a macOS 11, uses rm -P
Ubuntu:  secure-delete package via srm, sfill, sswap

Researching more secure third-party alternatives to rm -P, installed via Homebrew or similar.

General secure-delete infos:   https://www.howtogeek.com/425232/how-to-securely-delete-files-on-linux/ - man pages, others already checked.

SSD wiping is still a problem.  Researching how to do it to harden poof against an attacker with the resources to exploit resource leveling to recover files.


[Backport - mitaka] UG-629 Add quotes around tempest variables

If tempest_run_tempest_opts or tempest_testr_opts are
empty lists, have spaces in values, or have multiple
values, the exports fail without these quotes.

recheck_cit_trusty_deploy_ceph recheck_cit_trusty_deploy_swift recheck_cit_trusty_majorupgrade_ceph

recheck_cit_trusty_deploy_ceph

recheck_cit_trusty_majorupgrade_ceph


Asap auth extension

Initial PR for comparison and review. Will eventually raise to upstream. Do not merge.

Going to raise against upstream


MacOS 高分屏视口大小位置不正确

这是我尝试修改的代码，在我的 Mac 上运行正常， 但是因为没有在其他平台测试，所以贴到这里，供参考

亲测有效 + 1

棒，MAC有效

Thx, this is a known issue, will be fixed soon

The issue should be fixed by #41

It works on the secondary 1080p monitor, but while the Xcode and PilotEditor running on the Retina display, the issue occurs again.


added new JS question

Checklist:

[x] I have read freeCodeCamp's contribution guidelines.
[x] My pull request has a descriptive title (not a vague title like Update index.md)

Closes #XXXXX

This is a standard message notifying you that we've reviewed your pull request and have decided not to merge it.
We do not accept submissions from external quiz sites like these
https://www.examveda.com/what-kind-of-scoping-does-javascript-use-40362/
Please come up with your own quiz questions and answers 👍


Update cfg to add flags to the command line

Peter Bourgon in his talk at Iceland made a point that services should have flags for all possible configuration options. This helps operation and with documentation. The cfg package should add the support for this since it is a single place for configuration knowledge.

Going to write a package to add support for updating the config struct based on tags. The final idea is to add this to envconfig

Is the plan to allow flags to override env vars? i.e. env: DB_USER corresponds to flag: --db-user?

Here is the PR

PR for internal/platform/flag merged.


Obtain CSR matrix from DMatrix.

Obtain CSR matrix from DMatrix.
Obtain gradient index from Quantile DMatrix.

This is mostly for testing at a higher level. Right now we rely on training a booster to infer that the DMatrix is correctly constructed. With this PR, we can ease the testing process. Also, this has been requested before.
The return value from Quantile DMatrix is histogram index instead of cut values as we shift the cut value to include min_values, which is not very useful for language bindings.
Unlike most of XGBoost C functions, the caller of C API is required to allocate the memory itself instead of using thread local memory from XGBoost. This is to avoid allocating a huge memory buffer that can not be freed until exiting the thread.
External memory is not supported.
Close https://github.com/dmlc/xgboost/pull/4759 .

@RAMitchell Please take another look when you are available.


Enhance SPDX Support

Completing https://github.com/anchore/syft/issues/213 adds support for generating SPDX documents, however, there are several opportunities to expand upon full what can be expressed in an SPDX document. For instance, we have a file cataloger and are aware for select package types which files belong to a package... we could be leveraging the "FilesAnalyzed" package indication and showing the file digests for these package files. Additionally we could be adding relationships between these files and packages. For packages with transitive dependencies known, we could be building a dependency graph. There are many directions this can take, this issue is here as a placeholder to show that we could be supporting more of what can be expressed in an SPDX document.

See #451 as it's possible that filesAnalyzed mandates packageVerificationCode as per: https://spdx.github.io/spdx-spec/3-package-information/#39-package-verification-code
WRT describing dependencies in the SPDX output, I particularly love the idea because IMHO it's existing metadata which can be potentially valuable for the SBOM consumer, but I can also see the argument for "flat SBOMs". I would say there are two levels, one would be literally taking a big string with the dependency information for each package and adding it as a comment or something semantically equivalent to a comment in the SPDX document, the next level would be converting those package names from their native names to the SPDX identifier or purl spec for proper linkage.
Another thing which I'm not sure if you're interested in considering is adding any leftover files to the final SBOM document, in particular SPDX supports files as you know: https://spdx.github.io/spdx-spec/4-file-information/
This would be for anything else in the tree that hasn't been accounted for and that is relevant to the SBOM (i.e., not stuff under /home, etc., unless explicitly included), when thinking in terms of utilities I think about the output of debsums -c or cruft as potential signals that I might need to explicitly call out a file in addition to packages. One particularly interesting scenario is for Dockerfile with RUN wget foo that leave files we might want to account for, maybe it's the golang release, or terraform, or the jx client, we can already hash them and run libmagic on them but if we can also make it easy for SBOM publishers to identify which layer introduced the file maybe they can easily add a comment showing what line in the Dockerfile (or in their packer script or in their debootstrap includes...) introduced the component as some form of auxiliary attestation.
Just a few ideas. Thanks for giving SPDX enrichment additional thought!


PlutusType generic derivation for data encoded types + more Data stuff

There is much to be done. I'll put a changelog with the related stuff in here soon.
On the bright side, the PlutusType derivation is in place.
Resolves #187
Progresses #135

Doesn't the pconstantData stuff etc. fit better in another PR?

Potentially yes, but the feature itself is tiny and I added a bunch of tests for it. This PR does a bunch of stuff related to data and datarepr anyway so I figured I may as well.

That's weird, why did the CI suddenly fail with a compilation error? I only change between cb3668b and ef476b4 were documentation changes....?
My local test succeeds as well.

This PR is huge. Please split it up.


Menu bar change

I am sure many already know about this; the menu bar has too large tabs (Could be because of "Webshop"). But why do not we change some of the words used instead? Especially "Karrieremuligheter":

This could be:

It is even easier to read. Is "Karrieremuligheter" more describing than "Karriere"? Is it nessesary?

+1


Igniter.Code.Common: Support integer in move_right and move_upwards in addition to function predicate

Currently, move_right has a corresponding nth_right that moves the zipper to the right a given number of times, returning :error if it can't move that many times. At the moment, there isn't a corresponding function for move_upwards.
I'd like to propose that:

move_right and move_upwards additionally accept an integer as the second argument, in which case they'd act the same as nth_right and the hypothetical nth_upwards.
nth_right be deprecated in favor of passing an integer to move_right.

It's my opinion that this API is more ergonomic and easier to discover.
If this proposal is declined, I'd also accept adding an nth_upwards as a consolation prize. 🙂

Closed by #113.


SSR and styled-components

Hi @antonybudianto !
First of all, thanks for cra-universal, it's just amazing thing.
Few days ago I started to create simple React app by ejecting from create-react-app (I just wanted to add some extra linters to basic configuration). Next I added cra-universal and I used cra-universal init command. I would like to use cra-universal with styled-components and for this scenario I modified app.js file like this:
import {
  createReactAppExpress,
} from '@cra-express/core';

import { renderToNodeStream } from 'react-dom/server';

const path = require('path');
const React = require('react');
const { ServerStyleSheet } = require('styled-components');
const { default: App } = require('../src/app');

const clientBuildPath = path.resolve(__dirname, '../client');

let AppClass = App;
const sheet = new ServerStyleSheet();
const jsx = sheet.collectStyles(<AppClass />);

const app = createReactAppExpress({
  clientBuildPath,
  universalRender: () => sheet.interleaveWithNodeStream(renderToNodeStream(jsx)),
});

if (module.hot) {
  module.hot.accept('../src/app', () => {
    const { default: App } = require('../src/app');
    AppClass = App;
    console.log('✅ Server hot reloaded App');
  });
}

module.exports = app;

Styles work as a charm, but in console I have an error:
Warning: Prop className did not match. Server: "sc-bdVaJa jQKJuy" Client: "header__HeaderWrapper-sc-1ya4j2f-0 ddZyIi"
Where is my mistake? I use hydrate in index.js and in my package.json I have this babel configuration:
"babel": {
    "presets": [
      "react-app"
    ],
    "plugins": [
      ["babel-plugin-styled-components", {
        "ssr": true
      }]
    ]
  }

Greetings

Hi,
I never used styled-component before, so cannot help much :(
You may want to post your issue on Stackoverflow instead for better assistance.

Btw, do you have server/.babelrc file? Just wanna make sure you had included the plugin (babel-plugin-styled-components) here

Ok that was my mistake ;) I mixed import statements with require. With your suggestion with creating .babelrc everything works without errors! :D That's amazing! Thank You one more time :)

Glad it worked 👍


Fix RUSTSEC-2022-0093 (#895)

Thank you. Could you revert the unrelated formatting changes?

Thank you. Could you revert the unrelated formatting changes?

Yep, fixed!


Undesired asserts in GetUnderlyingType

GetUnderlyingType in validate_builtins.cpp has two asserts that will fire on malformed inputs, instead of returning an error.

Fixed by #2646


Usage restriction and potential bans

Are there any restrictions on the use of the service? For example, if a constant stream of requests comes from the same IP address, won't this lead to a ban of such an IP address from the service side? What's the best way to use this service? (intervals, etc.)

Hey @Monabr, thanks for your patience.
I've only encountered bans when performing many simultaneous requests.  It wasn't actually clear what the exact number was, when we re-ran all our network tests in one go, we got such a ban.
Since then, yahoo-finance2 has built in concurrency limits, you can read about it at https://github.com/gadicc/node-yahoo-finance2/blob/devel/docs/concurrency.md.  In short, out the box, yahoo-finance2 will limit you to 4 simultaneous requests, and we've never encountered any further issues since adding this feature.  It may still be possible though.
Regarding other restrictions, just bear in mind that the Yahoo data is meant for the personal use of Yahoo users only.  They don't seem to mind people people using their data for small personal projects (even though they don't offer any service guarantees or support).  While I can't say for sure, I imagine any commercial use of their data is dangerous territory.


Ability to Export / Import

It seems like the changes are all saved locally in cookies, it would be great to have a method to export (and then import) to move them to a different browser or different device.

Hi ! Thanks for opening this issue :)
That's a good idea, and it shouldnt be very hard to implement. We'll think about that !
Cheers

Added to master :)


Documentation PR for FluentFTP.csproj

Time to document the current state of affairs in .csproj re TFMs.

Moved to here - https://github.com/robinrodricks/FluentFTP/wiki/Code-Standards

I kind of thought too that we would move that to the Wiki. But this way they are also in the commit history. I'd like to remember without the Wiki the gist of what I/We changed at this time in case of problems ensuing out of this.


Buttons of the Timeline panel not visible

The buttons "Record timeline operations" and "Select what data to display" of the Timeline panel are not displayed correctly:

Florent

@janodvarko the above patch fixes the issue. Is that OK for you?
Florent

ping @janodvarko ?
Florent

@fflorent works for me. Please merge to the master, thanks!
Honza

Thanks for the verification. That's merged now.
Florent

$fixed firebug-3.0.0-alpha.8


az ad app create is not idempotent

There are two scenarios to consider...

Re-running 'az ad app create' with the '--native-app true' results in multiple applications being created with unique appIds.
Re-running 'az ad app create' with the '--native-app false', results in this message being returned instead of the expected existing object. Message: Another object with the same value for property identifierUris already exists.

This seems to conflict with the CLI 'create' guidelines of being idempotent.

I also noticed that 'az ad sp create-for-rbac' is not idempotent.  Re-running the command does not return the existing service account but instead just returns:  already exists.  I would have expected it to return the existing/matching service principal object.

@marstr I believe you recently closed a similar issue?

The graph command are probably the only exception.  The backend service doesn't support PUT like most other azure services; rather it has "POST" and PATCH. This makes idempotent a bit hard


ValueError: need at least one array to concatenate

Hello, I have the following problem
“
base_cam.py", line 134, in aggregate_multi_layers
cam_per_target_layer = np.concatenate(cam_per_target_layer, axis=1)
File "<array_function internals>", line 6, in concatenate
ValueError: need at least one array to concatenate”
when reproducing your code. Is it with grad_ About the cam version, or Python and python versions, would you please help me provide some suggestions to solve the problem? Thank you very much.

I have a similar issue, haven't solved it yet. But tracing this the aggregate_multi_layers function is receiving an empty object, and hence numpy can't perform ``np.concatenate` on an empty array.
If I find a solution, I'll post it in this thread.

@allenlittlestar I had a similar issue when I was using a modified ResNet50 to my use-case of specific classes.
Tracing this, apparently np.concatenate() was receiving an empty array. Making sure that my entire network gradients are not freezed solved this issue.

Hi,
Indeed what @alshenoudy said.
To see if it's because of the gradients, you can also try switching to one of the non gradient methods, ScoreCAM or AblationCAM, and see if this happens.


Doc issue

Hey,
I'm hoping to use Alice to drive fixtures in my phpunit tests. I currently have the following packages
        "nelmio/alice": "2.2.2",
        "hautelook/alice-bundle": "^1.4"

But I'm struggling to see how I can actually load the fixtures as part of the phpunit setUp function. We usually use the \Liip\FunctionalTestBundle\Test\WebTestCase::loadFixtures method where we have a bunch of php classes that build up the fixtures, but it's heavy handed and I need a quick way of setting up a handful of partial entities.
I wondered if I needed something like the FixturesFinder, but not sure where to start.
Look forward to hearing from you
Cheers

Hi!
A very quick & easy way is to ensure your kernel is booted in your setup, create a console application with the fixture command and trigger it (look for how to execute a console command from a controller or something, it's the same).
As you can guess this is not the most and convenient way to do it. Unfortunately for now the fixture lookup + files resolution + database purge + loading is done in the console command (each bit has its own services, but the orchestrator is the command). So if you want something a bit more performant, you can look it up and do a bit more manual things.
In HautelookAliceBundle 2.x, I made sure not to repeat the same mistake, but I know the upgrade may be painful depending of your level of integration.

Awesome, thanks for getting back to me so quickly!
I'll take a look at some of the command services and see if I can find an easyish way to replicate the lifecycle in the setUp method, as running the command isn't really going to be viable with the scope I have for the project.
Just wanted to make sure I wasn't missing something simple.
Have a great day


Add PTP CNI plugin support

Community is transitioning from Bridge to PTP CNI plugin, due to some security concerns. Fr flexibility, k-d-c should be updated to add PTP support. Includes adding plugin support, updating readme, adding CI test cases, and checking on IPv4 and IPv6.

/assign


Enable ironic testing in component lines

Update podified-multinode-edpm-deployment-crc-bootstrap-staging-ironic to configure networking to test Ironic.

Depends-On: https://github.com/openstack-k8s-operators/ci-framework/pull/2494
Depends-On: https://github.com/openstack-k8s-operators/ci-framework/pull/2483

recheck

recheck

recheck

recheck

recheck
As dependent patches have updated

recheck

recheck

/approve

/lgtm


TV UI controller bug

When using a TV device there's a visual bug that occurs when selecting either subtitle, audio track or speed variation while the player is playing.
When these selection items are visible and the player is playing, after a short delay the controller disappears and the selection box remains on the screen indefinately.
The bug occurs after the controller disappears and a selection is made from the still visible selection box, where soon after there is a flash on the screen which briefly shows the controller again.
I checked version 0.23 with update "Hide controls only during playback" and the bug occurs from this point.
This behavior doesn't occur on mobile UI because the controller remains visible and doesn't hide until after the selection has been made, so TV UI should probably behave the same

Whould you have a screenshot or video recording of this issue?

@moneytoo here's a 30 second screen recording.
https://user-images.githubusercontent.com/2313757/229265970-2ece7d8b-ae84-47d1-bcc3-e52032d19a14.mp4
You will see at 14 seconds the subtitle option is selected, and then at 17 seconds the controller disappears, causing the subtitle selection box to fall down.
Then at 19 seconds the time bar disappears causing the subtitle selection box to fall down further again, and the subtitle selection box will then remain onscreen indefinitely until a selection is made.
At 22 seconds the subtitle selection is made and the subtitle selection box disappears, and then at 26 seconds there is a flash on the screen which briefly shows the controller again.
This behavior also affects the audio track and speed variation selection box on TV UI

@moneytoo here's a 30 second screen recording.
https://user-images.githubusercontent.com/2313757/229266460-0c872624-d8e9-4a9a-bdca-09ae0cdc46bb.mp4
You will see at 14 seconds the subtitle option is selected, and then at 17 seconds the controller disappears, causing the subtitle selection box to fall down.
Then at 19 seconds the time bar disappears causing the subtitle selection box to fall down further again, and the subtitle selection box will then remain onscreen indefinitely until a selection is made.
At 22 seconds the subtitle selection is made and the subtitle selection box disappears, and then at 26 seconds there is a flash on the screen which briefly shows the controller again.
This behavior also affects the audio track and speed variation selection box on TV UI

@moneytoo here's a 30 second screen recording.
https://user-images.githubusercontent.com/2313757/229266460-0c872624-d8e9-4a9a-bdca-09ae0cdc46bb.mp4
You will see at 14 seconds the subtitle option is selected, and then at 17 seconds the controller disappears, causing the subtitle selection box to fall down.
Then at 19 seconds the time bar disappears causing the subtitle selection box to fall down further again, and the subtitle selection box will then remain onscreen indefinitely until a selection is made.
At 22 seconds the subtitle selection is made and the subtitle selection box disappears, and then at 26 seconds there is a flash on the screen which briefly shows the controller again.
This behavior also affects the audio track and speed variation selection box on TV UI


Issue with ibm-dropdown component in the latest version

Detailed description

Describe in detail the issue you're having.

ibm-dropdown component was working fine till version "^3.16.3". Since upgrading to version "^3.22.0", suddenly the dropdown is not working as expected.

Is this a feature request (new component, new icon), a bug, or a general issue?

This is a bug

Is this issue related to a specific component?

ibm-dropdown-list component
ibm-dropdown component

What did you expect to happen? What happened instead? What would you like to see changed?

We have set the variable imlQuery.operator to { "content": "And" }.
The dropdown-list is set to: imlOperationList: any = [{ content: 'And' }, { content: 'Or' }];

           <ibm-dropdown [theme]="theme" placeholder="And" [(ngModel)]="imlQuery.operator">                      <ibm-dropdown-list [items]="imlOperationList"></ibm-dropdown-list>           </ibm-dropdown>

While this code worked perfectly till we upgraded carbon-components-angular to latest version. For some reason, it sets the ngModel value to null!

What browser are you working in?

Chrome

What version of the Carbon Design System are you using?

"carbon-components": "^10.7.3",
"carbon-components-angular": "^3.22.0"

What offering/product do you work on? Any pressing ship or release dates we should be aware of?

We were trying to update carbon components angular to latest version as it fixes certain issues. But after upgrading to latest version, we have this reported issue and hence are rolling back.
Steps to reproduce the issue
PLEASE NOTE : In the sandbox, I have commented line . It works fine and value is printed. If you uncomment this line, it sets the model to null. It seems it is an issue with ibm-dropdown-list component.
https://codesandbox.io/s/carbon-components-angular-vcgf0?fontsize=14

Updated with codesandbox link.

I get a
Uncaught Error: Template parse errors:
Can't bind to 'ngModel' since it isn't a known property of 'ibm-dropdown'.
1. If 'ibm-dropdown' is an Angular component and it has 'ngModel' input, then verify that it is part of this module.
2. If 'ibm-dropdown' is a Web Component then add 'CUSTOM_ELEMENTS_SCHEMA' to the<EMAIL_ADDRESS>of this component to suppress this message.
3. To allow any property add 'NO_ERRORS_SCHEMA' to the<EMAIL_ADDRESS>of this component. ("g no-margin">
      <ibm-dropdown type="multi" label="Node Type" placeholder="Select" value="value" [ERROR ->][(ngModel)]="nodeTypeSelection">
        <ibm-dropdown-list [items]="nodeTypes"></ibm-dropdown-list>
"): ng:///AppModule/NodeFilterComponent.html@7:86

I get a
Uncaught Error: Template parse errors:
Can't bind to 'ngModel' since it isn't a known property of 'ibm-dropdown'.
1. If 'ibm-dropdown' is an Angular component and it has 'ngModel' input, then verify that it is part of this module.
2. If 'ibm-dropdown' is a Web Component then add 'CUSTOM_ELEMENTS_SCHEMA' to the<EMAIL_ADDRESS>of this component to suppress this message.
3. To allow any property add 'NO_ERRORS_SCHEMA' to the<EMAIL_ADDRESS>of this component. ("g no-margin">
      <ibm-dropdown type="multi" label="Node Type" placeholder="Select" value="value" [ERROR ->][(ngModel)]="nodeTypeSelection">
        <ibm-dropdown-list [items]="nodeTypes"></ibm-dropdown-list>
"): ng:///AppModule/NodeFilterComponent.html@7:86

You need to import dropdownModule and FormsModule.
@NgModule({   declarations: [AppComponent],   imports: [BrowserModule, ButtonModule, FormsModule, DropdownModule],   providers: [],   bootstrap: [AppComponent] }) export class AppModule {}

Ah, I missed FormsModule, thanks.


windows terminal can't show the plot  drawed by python matplotlib or R ggplot2 using wsl linux

windows terminal  can't show the plot  drawed by python matplotlib or R ggplot2 using wsl . when i use wsl2 connected on xshell,  xshell can show the plot drawed by python or R

I'm not sure how matplotlib draws its diagrams, probably with sixel graphic, right? If so, then this is a /dup of #448


Update distribution.yaml

add jsk_smart_gui only for doc

the repo does not exists.

sorry i mistook repo name.


Compressed public key DID for NIST ECDSA curves

The multicodec spec says that the public key DID for NIST ECDSA should be the compressed public key (33 bytes) instead of the full (64 byte) public key.
https://github.com/multiformats/multicodec/blob/e9ecf587558964715054a0afcc01f7ace220952c/table.csv#L141

I'm planning to implement this btw 👍
Couple links:

did:key discussion
ceramic code around this same problem
stack overflow the ceramic code is based on

Implemented internally here: https://github.com/bluesky-social/adx/pull/139/files#diff-c4ab40937a57e2f51e45e0e65f47c9a6d94a9e75b1f86ddf4f563f1c09028587R47
I ended up using big-integer.js because native BigInts don't have fully support & they don't support the necessary modular arithmetic & would require an extension anyway: bigint-mod-arith
Happy to pull this over & make a PR, just wanna know that we def want it here 👍
This also only implements it for NIST P-256 atm & not for the other NIST curves. Same logic though, just different curve params.
Thoughts? @matheus23

Happy to pull this over & make a PR, just wanna know that we def want it here +1
This also only implements it for NIST P-256 atm & not for the other NIST curves. Same logic though, just different curve params.
Thoughts? @matheus23

Looks good! Would love to approve such a PR :+1:


Add Icon Plugin

Add Flaticon and font-awesome plugins

There hasn't been any activity on this PR, so I'm going to close it as spam.


Terraform module

Terraform v1.2.4
Doesnt work in module - terraform init
│ Error: Failed to query available provider packages
│ Could not retrieve the list of available versions for provider hashicorp/ec: provider registry registry.terraform.io does not have a
│ provider named registry.terraform.io/hashicorp/ec
│ Did you intend to use elastic/ec? If so, you must specify that source address in each module which requires that provider. To see which
│ modules are currently depending on hashicorp/ec, run the following command:
│     terraform providers
This is works: main.tf
terraform {
required_providers {
ec = {
source  = "elastic/ec"
version = "~>0.3.0"
}
elasticstack = {
source  = "elastic/elasticstack"
version = "~>0.3.3"
}
}
}
provider "ec" {
apikey = "key"
}
provider "elasticstack" {
elasticsearch {}
}
data "ec_stack" "latest" {
version_regex = "latest"
region        = "gcp-us-central1"
}
But this is doesnt work main.tf
terraform {
required_providers {
ec = {
source  = "elastic/ec"
version = "~>0.3.0"
}
elasticstack = {
source  = "elastic/elasticstack"
version = "~>0.3.3"
}
}
}
provider "ec" {
apikey = "key"
}
provider "elasticstack" {
elasticsearch {}
}
module "elasticcloud" {
source           = "./modules"
}
modules.tf (modules/module.tf)
data "ec_stack" "latest" {
version_regex = "latest"
region        = "gcp-us-central1"
}
doesnt work - please fix

From the Terraform docs:

each module must declare its own provider requirements, so that Terraform can ensure that there is a single version of the provider that is compatible with all modules in the configuration and to specify the source address that serves as the global (module-agnostic) identifier for a provider

So modules.tf needs to define a required_providers block as well:
terraform {
  required_providers {
    ec = {
      source  = "elastic/ec"
      version = ">0.3.0"
    }
  }
}

data "ec_stack" "latest" {
  version_regex = "latest"
  region        = "gcp-us-central1"
}


chore: 🤖 [frontend-gray]优化关于处理index page 处理逻辑

优化关于处理index page 处理逻辑
Ⅰ. Describe what this PR did

优化关于处理index page 处理逻辑,如果非 index page, 使用 ctx.DontReadResponseBody() 跳过处理
优化envoy.yaml 关于tab换行的格式问题

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

Project coverage is 44.21%. Comparing base (ef31e09) to head (2e56438).
Report is 117 commits behind head on main.

Additional details and impacted files

@@            Coverage Diff             @@
##             main    #1345      +/-   ##
==========================================
+ Coverage   35.91%   44.21%   +8.30%
==========================================
  Files          69       76       +7
  Lines       11576     9895    -1681
==========================================
+ Hits         4157     4375     +218
+ Misses       7104     5184    -1920
- Partials      315      336      +21

see 91 files with indirect coverage changes


Avoid unnecessary last sleep

Signed-off-by: Shiming Zhang<EMAIL_ADDRESS>Please provide a description for what this PR is for.
And to help us figure out who should review this PR, please
put an X in all the areas that this PR affects.
[ ] Configuration Infrastructure
[ ] Docs
[ ] Installation
[ ] Networking
[ ] Performance and Scalability
[ ] Policies and Telemetry
[x] Security
[ ] Test and Release
[ ] User Experience
[ ] Developer Infrastructure
Pull Request Attributes
Please check any characteristics that apply to this pull request.
[x] Does not have any changes that may affect Istio users.

@wzshiming: The following test failed, say /retest to rerun all failed tests:

Test name
Commit
Details
Rerun command

release-notes_istio
8f95f8c1ae28c1c20dc5ed601d163f88e309226a
link
/test release-notes_istio

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@wzshiming: The following tests failed, say /retest to rerun all failed tests:

Test name
Commit
Details
Rerun command

release-notes_istio
8f95f8c1ae28c1c20dc5ed601d163f88e309226a
link
/test release-notes_istio

lint_istio
8f95f8c1ae28c1c20dc5ed601d163f88e309226a
link
/test lint_istio

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@wzshiming: The following tests failed, say /retest to rerun all failed tests:

Test name
Commit
Details
Rerun command

lint_istio
8f95f8c1ae28c1c20dc5ed601d163f88e309226a
link
/test lint_istio

release-notes_istio
e4b4511f2f3f5a7aedb97eeafafb62e5d9b11a25
link
/test release-notes_istio

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@wzshiming: The following tests failed, say /retest to rerun all failed tests:

Test name
Commit
Details
Rerun command

release-notes_istio
e4b4511f2f3f5a7aedb97eeafafb62e5d9b11a25
link
/test release-notes_istio

lint_istio
e4b4511f2f3f5a7aedb97eeafafb62e5d9b11a25
link
/test lint_istio

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@wzshiming: The following test failed, say /retest to rerun all failed tests:

Test name
Commit
Details
Rerun command

lint_istio
9ba5656ea79dcb1f8515e7778c829ab3e890868f
link
/test lint_istio

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

PING @howardjohn


save_images_to_db=false not working

Describe the bug
I'm testing CompreFace with the provided Docker Compose distribution in the root directory and looks like the save_images_to_db=false option does not work.
The trained faces are still saved to Postgres img table.
Tested with v0.6.1 tag and the latest master.
Based on docker inspect the related configuration option passed correctly to compreface-api.
        "Config": {
            "Hostname": "6a220ba41a7d",
            "Domainname": "",
            "User": "",
            "AttachStdin": false,
            "AttachStdout": true,
            "AttachStderr": true,
            "Tty": false,
            "OpenStdin": false,
            "StdinOnce": false,
            "Env": [
                "POSTGRES_PASSWORD=postgres",
                "POSTGRES_URL=jdbc:postgresql://compreface-postgres-db:5432/frs",
                "SPRING_PROFILES_ACTIVE=dev",
                "API_JAVA_OPTS=-Xmx4g",
                "SAVE_IMAGES_TO_DB=false",
                "POSTGRES_USER=postgres",
                "PATH=/usr/local/openjdk-11/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
                "LANG=C.UTF-8",
                "JAVA_HOME=/usr/local/openjdk-11",
                "JAVA_VERSION=11.0.8"
            ],
            "Cmd": null,
            "Image": "exadel/compreface-api:0.6.1",
            "Volumes": null,
            "WorkingDir": "",
            "Entrypoint": [
                "sh",
                "-c",
                "java $API_JAVA_OPTS -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=*:5005 -jar /home/app.jar"
            ],
            "OnBuild": null,
            "Labels": {
                "com.docker.compose.config-hash": "b84a70e10ecbe10ad754be77aafdba54fa7a8333dc3ac491f37311ac181f1859",
                "com.docker.compose.container-number": "1",
                "com.docker.compose.depends_on": "compreface-postgres-db",
                "com.docker.compose.image": "sha256:fc2d4ce7b40cc72fa875f8f35dcec35e4e2fa8979e791fea1f69ca40b855d9ba",
                "com.docker.compose.oneoff": "False",
                "com.docker.compose.project": "compreface",
                "com.docker.compose.project.config_files": "/home/ncsibra/dev/tmp/CompreFace/docker-compose.yml",
                "com.docker.compose.project.working_dir": "/home/ncsibra/dev/tmp/CompreFace",
                "com.docker.compose.service": "compreface-api",
                "com.docker.compose.version": "2.2.3",
                "desktop.docker.io/wsl-distro": "Arch"
            }
        },

Here's the original implementation: https://github.com/exadel-inc/CompreFace/pull/163/files#diff-d829967df73c63987fa6772e8f2e0e9b9374ad3df661a20e3931094b1726253fR80
Quickly searching through the code, I can't see the relevant logic in the current codebase, but I'm not a big Java guy. :)
To Reproduce
Steps to reproduce the behavior:

In the root directory .env file set save_images_to_db=false
Run docker compose
Train a new example to a subject
Check the database img table, a new entry will be added and the size of the data in the content column is the same as the uploaded image size

Expected behavior
Do not save the image to the database when save_images_to_db=false

Looks like this is a critical bug. I checked the code and this logic was removed during refactoring that was in 0.6.0 version.
If you need this functionality, please use 0.5.1 version.
I will add this bug as critical to 1.0.0 release that we plan to release soon.
I'll update the documentation as well to warn other users.

@pospielov Do you have any ETA for 1.0.0?

I think we will release this or the next week.

Hello All
how could I see data stored by CompreFace at my server as files or DB etc?
Thanks


[WIP]: Hide buttons from TryExamples directive by default

Description
This PR hides the buttons from the TryExamples directive by default. This is helpful because the current method of ignoring particular pages based on their URL first loads the buttons and then hides them, which means that they are briefly displayed on that page in the documentation and then hidden – keeping them hidden and then selectively enabling them will minimise this latency and improve user experience.
Changes made

Made all try_examples_button buttons hidden at the time of generation by adding this keyword to the classList
Updated the loadTryExamplesConfig function in jupyterlite_sphinx.js to check for the try_examples_button hidden class instead and then remove hidden from the classList

Additional context
N/A

I have rebased this right now and opened a PR because I think it will be better for visibility, plus I would appreciate some help towards bringing this to completion. It's not fully working right now since the directives still seem to contain the try_examples_button hidden and therefore are not displayed, even when I try to remove the keyword from the classList. It has been a while since I worked on this, so I'm not sure what I was debugging back then.

I see why this is reasonable, but isn't that going to have the opposite effect on page where the button should be visible, where the page will load and then jump around as buttons are added ?

Thanks for the review, @Carreau. Yes, this will be a slight issue when someone reloads a page and if they are in the middle of a page when doing so – but at the top of the page, it should load as normal, because from there the buttons will be appended to the layout rather than being inserted into a position where the text moves because of the insertion. I am not sure if there is a cleaner way to do this.

I think this is partially working now – where it breaks is when a try_examples.json config file is not present, and therefore data.ignore_patterns will always be false. I'll try to move the logic for un-hiding the buttons into a separate function and then call it. This way, the currently hidden buttons can be un-hidden with or without the presence of the configuration file.

I think this is working now, marking it as ready for review. One small thing to figure out remains: the PR preview at https://jupyterlite-sphinx--173.org.readthedocs.build/en/173/directives/try_examples.html is not un-hiding the button with the custom blue-bottom CSS present in jupyterlite_sphinx.css. The button is visible in the stable documentation: https://jupyterlite-sphinx.readthedocs.io/en/stable/directives/try_examples.html
So this works for all sorts of buttons now (tested locally), except for these non-standard buttons. Let me try to dig further, and meanwhile open this up for further comments.

I will try to re-review.
I'm ok with this in principle. Still unsure if hiding or appending is the best, so I'd like someone else input on this anyway.

I think this is working now, marking it as ready for review. One small thing to figure out remains: the PR preview at jupyterlite-sphinx--173.org.readthedocs.build/en/173/directives/try_examples.html is not un-hiding the button with the custom blue-bottom CSS present in jupyterlite_sphinx.css. The button is visible in the stable documentation: jupyterlite-sphinx.readthedocs.io/en/stable/directives/try_examples.html
So this works for all sorts of buttons now (tested locally), except for these non-standard buttons that have user-defined CSS. Let me try to dig further, and meanwhile open this up for further comments.

Update on this: With the refactoring I performed in my recent commits, I've fixed the problem I had noted above; however, using it on projects downstream, such as NumPy, fails, and I am not able to un-hide the buttons selectively based on the config file. So far, I still haven't been able to figure out why (it apparently has something to do with the CSS rather than with JS).
Even though this is marked as a draft, it's ready for review – @Carreau, could you please re-review it when you have time? I discussed this PR with @steppi, who agreed to review it soon after I suggested that I would revisit it, which I now have. Perhaps some trained pairs of eyes will be able to catch issues I haven't been able to :D
Also, a note on the jumping around of the contents when the page is loaded: I've tried to implement a solution (not pushed here, though, it should probably be a separate PR) to minimise the CLS value, through pre-allocating space for the container where the button is going to show up. However, for pages where the buttons are ignored/hidden, this check happens at runtime through the JavaScript code – which is not ideal. To achieve a smooth experience and no shifts in the content in the truest sense, this is possible only if we read through the documentation source pages and exclude them based on ignore patterns at build time (i.e., which would be read within the TryExamplesDirective class on the Python side), rather than at runtime on the JavaScript side, so that we avoid adding the HTML for the buttons altogether in the first place for pages where we need to ignore adding examples. I managed to get started on it, but I'm yet to test it (and I feel that should be in a separate PR, too).


Add Contribution Guide and Docker Image creation guide

Codecov Report

Merging #48 into master will increase coverage by 0.02%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master      #48      +/-   ##
==========================================
+ Coverage   70.73%   70.76%   +0.02%
==========================================
  Files           8        8
  Lines        3595     3595
==========================================
+ Hits         2543     2544       +1
  Misses        844      844
+ Partials      208      207       -1

Impacted Files
Coverage Δ

server/service/instances.go
67.77% <0%> (+0.12%)
:arrow_up:

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 6296d46...2864703. Read the comment docs.

Coverage increased (+0.2%) to 76.645% when pulling 286470381ed244e0c63a452660b747fe8e2bf065 on asifdxtreme:guide into 6296d4653cfbe376e30f79b8da82d4b7a824e0ce on ServiceComb:master.

Coverage increased (+0.04%) to 76.526% when pulling 1c9ef24097db7a47dc2746a96f2c3b98f1e305eb on asifdxtreme:guide into 6296d4653cfbe376e30f79b8da82d4b7a824e0ce on ServiceComb:master.

Coverage increased (+0.2%) to 76.722% when pulling 1c9ef24097db7a47dc2746a96f2c3b98f1e305eb on asifdxtreme:guide into 6296d4653cfbe376e30f79b8da82d4b7a824e0ce on ServiceComb:master.

Coverage remained the same at 76.487% when pulling 1c9ef24097db7a47dc2746a96f2c3b98f1e305eb on asifdxtreme:guide into 6296d4653cfbe376e30f79b8da82d4b7a824e0ce on ServiceComb:master.


Pankic on stdio.rsProtocolError

it works find on my computer but when i use vscode in remote computer i see this error.
thread '<unnamed>' panicked at 'called `Result::unwrap()` on an `Err` value: "SendError(..)"Error: ', /home/runner/.cargo/registry/src/github.com-1ecc6299db9ec823/lsp-server-0.3.1/src/stdio.rsProtocolError:(29":13
unexpected message during shutdown: Ok(Response(Response { id: RequestId(U64(1)), result: None, error: None }))")

Could you try to get the log of messages between client and server? I am not familiar with VS Code remote, but for local vscode it is enabled with "rust-analyzer.trace.extension": true
https://github.com/rust-analyzer/rust-analyzer/blob/master/docs/user/readme.adoc#troubleshooting

@matklad hmm strange now its working properly after restarting vscode. Should we close this issue?

Yeah, I guess it won't be actionable without a way to reproduce/logs. But feel free to reponen if you see this again!


Image Sliders don't Work in the React Sample App

Hey guys I am evaluating Kentico Kontent for an application but nearly everything I am trying is being overwritten by the out of the box CSS in the Sample App.
I have tried 3-4 different image slider packages and they all break out of the box.
I settled on https://swiperjs.com/ but it is breaking out of the box.
Should I be using the sample app as a starting point? I essentially want a blank slate to develop on.
I have dropped index.css completely yet most rules are being overwritten

There is nothing in the computed that I can see will tell me where these rules are being overwritten. I am at the point that I am going to have to start tearing out large chunks of the Sample App.
What am I doing wrong?

Resolved. CSS was being overwritten in Admin.css of the sample project


👉 Adjust parameters for Active Curves

👉 Is your feature request related to a problem? Please describe.
This task is related to User Story #392
User should be able to adjust the parameters for what is considered an Active Curve.
Describe the solution you'd like
Two fields in the filter panel where parameters for Time and Depth can be adjusted.

Currently only Time will be implemented.


feat: plumb fee payer

Implemented
See spec.
A boolean flag is_fee_payer in the PrivateCircuitPublicInputs. The private kernel circuits will check this flag for every call stack item.
When a call stack item is found with is_fee_payer set, the kernel circuit will set fee_payer in its PrivateKernelCircuitPublicInputs to be the callStackItem.contractAddress.
This is subsequently passed through the PublicKernelCircuitPublicInputs to the KernelCircuitPublicInputs.
If a transaction attempts to set fee_payer multiple times, the transaction will be considered invalid.
Remaining
Actually setting fee_payer in a contract, and making assertions. (https://github.com/AztecProtocol/aztec-packages/issues/5920)
If the fee_payer is not set, the transaction will be considered invalid. (https://github.com/AztecProtocol/aztec-packages/issues/6343)
Elsewhere
Unit tests on SerDe (https://github.com/AztecProtocol/aztec-packages/issues/6339)

[!WARNING]
This pull request is not mergeable via GitHub because a downstack PR is open. Once all requirements are satisfied, merge this PR as a stack on Graphite.
Learn more

#6286  👈
#6244
master

This stack of pull requests is managed by Graphite. Learn more about stacking.

Join @just-mitch and the rest of your teammates on  Graphite

Docs Preview
Hey there! 👋 You can check your preview at https://663e37109af016045ba09076--aztec-docs-dev.netlify.app


Break CorePlugin into TaskPoolPlugin, TypeRegistrationPlugin, FrameCountPlugin.

Objective

Fixes #7081.

Solution

Moved functionality from kitchen sink plugin CorePlugin to separate plugins, TaskPoolPlugin, TypeRegistrationPlugin, FrameCountPlugin.  TaskPoolOptions resource should now be used with TaskPoolPlugin.

Changelog
Minimal changes made (code kept in bevy_core/lib.rs).
Migration Guide

CorePlugin broken into separate plugins.  If not using DefaultPlugins or MinimalPlugins PluginGroups, the replacement for CorePlugin is now to add TaskPoolPlugin, TypeRegistrationPlugin, and FrameCountPlugin to the app.

Notes

Consistent with Bevy goal "modularity over deep integration" but the functionality of TypeRegistrationPlugin and FrameCountPlugin is weak (the code has to go somewhere, though!).
No additional tests written.

bors r+


Adding support to uncertainties.ufloat

from uncertainties import ufloat
from electronvolt import *
adding support either ufloat(3, 1) * kg or ufloat(3 * kg, 1 * kg)
probably former

not in the near future

Serendipity! Turns out making logic rigorous fixes this issue at #8. I love the abstract algebra python class provides!

not in the near future

当我没说

supporting ufloat(3, 1) * kg and Quantity(ufloat(3, 1), kg=1)


RetryGatewayFilter causing out of direct memory errors

Describe the bug
When using the gateway in combination with a backend application that accepts large multipart file uploads (tested with 250MB) we encountered the situation that the direct memory overflowed. The filter is configured to only retry GET requests but the caching mechanism intercepts the complete route and therefore also caches the multipart in the buffers. After completion the buffers are not released.
For the moment we worked around by using a dedicated GET route before all other HTTP methods.
{"@timestamp":"2020-11-06T14:46:49.835Z","@version":"1","message":"[7de5326e-4919504]  500 Server Error for HTTP POST \"/web/uploads/temp\"","logger_name":"org.springframework.boot.autoconfigure.web.reactive.error.AbstractErrorWebExceptionHandler","thread_name":"reactor-http-epoll-1","level":"ERROR","level_value":40000,"stack_trace":"reactor.netty.ReactorNetty$InternalNettyException: java.lang.OutOfMemoryError: Cannot reserve 16777216 bytes of direct buffer memory (allocated:<PHONE_NUMBER>, limit:<PHONE_NUMBER>)
 \tSuppressed: reactor.core.publisher.FluxOnAssembly$OnAssemblyException:
 Error has been observed at the following site(s):
 \t|_ checkpoint ⇢ org.springframework.cloud.gateway.filter.WeightCalculatorWebFilter [DefaultWebFilterChain]
 \t|_ checkpoint ⇢ org.springframework.security.web.server.authorization.AuthorizationWebFilter [DefaultWebFilterChain]
 \t|_ checkpoint ⇢ org.springframework.security.web.server.authorization.ExceptionTranslationWebFilter [DefaultWebFilterChain]
 \t|_ checkpoint ⇢ org.springframework.security.web.server.savedrequest.ServerRequestCacheWebFilter [DefaultWebFilterChain]
 \t|_ checkpoint ⇢ org.springframework.security.web.server.context.SecurityContextServerWebExchangeWebFilter [DefaultWebFilterChain]
 \t|_ checkpoint ⇢ org.springframework.security.config.web.server.ServerHttpSecurity$OAuth2ResourceServerSpec$BearerTokenAuthenticationWebFilter [DefaultWebFilterChain]
 \t|_ checkpoint ⇢ org.springframework.security.web.server.authentication.AuthenticationWebFilter [DefaultWebFilterChain]
 \t|_ checkpoint ⇢ org.springframework.security.web.server.context.ReactorContextWebFilter [DefaultWebFilterChain]
 \t|_ checkpoint ⇢ org.springframework.security.web.server.header.HttpHeaderWriterWebFilter [DefaultWebFilterChain]
 \t|_ checkpoint ⇢ org.springframework.security.config.web.server.ServerHttpSecurity$ServerWebExchangeReactorContextWebFilter [DefaultWebFilterChain]
 \t|_ checkpoint ⇢ org.springframework.security.web.server.WebFilterChainProxy [DefaultWebFilterChain]
 \t|_ checkpoint ⇢ org.springframework.boot.actuate.metrics.web.reactive.server.MetricsWebFilter [DefaultWebFilterChain]
 \t|_ checkpoint ⇢ HTTP POST \"/web/uploads/temp\" [ExceptionHandlingWebHandler]
 Stack trace:
 Caused by: java.lang.OutOfMemoryError: Cannot reserve 16777216 bytes of direct buffer memory (allocated:<PHONE_NUMBER>, limit:<PHONE_NUMBER>)
 \tat java.base/java.nio.Bits.reserveMemory(Unknown Source)
 \tat java.base/java.nio.DirectByteBuffer.<init>(Unknown Source)
 \tat java.base/java.nio.ByteBuffer.allocateDirect(Unknown Source)
 \tat io.netty.buffer.PoolArena$DirectArena.allocateDirect(PoolArena.java:645)
 \tat io.netty.buffer.PoolArena$DirectArena.newChunk(PoolArena.java:621)
 \tat io.netty.buffer.PoolArena.allocateNormal(PoolArena.java:204)
 \tat io.netty.buffer.PoolArena.tcacheAllocateNormal(PoolArena.java:188)
 \tat io.netty.buffer.PoolArena.allocate(PoolArena.java:138)
 \tat io.netty.buffer.PoolArena.allocate(PoolArena.java:128)
 \tat io.netty.buffer.PooledByteBufAllocator.newDirectBuffer(PooledByteBufAllocator.java:378)
 \tat io.netty.buffer.AbstractByteBufAllocator.directBuffer(AbstractByteBufAllocator.java:187)
 \tat io.netty.buffer.AbstractByteBufAllocator.directBuffer(AbstractByteBufAllocator.java:178)
 \tat io.netty.channel.unix.PreferredDirectByteBufAllocator.ioBuffer(PreferredDirectByteBufAllocator.java:53)
 \tat io.netty.channel.DefaultMaxMessagesRecvByteBufAllocator$MaxMessageHandle.allocate(DefaultMaxMessagesRecvByteBufAllocator.java:114)
 \tat io.netty.channel.epoll.EpollRecvByteAllocatorHandle.allocate(EpollRecvByteAllocatorHandle.java:75)
 \tat io.netty.channel.epoll.AbstractEpollStreamChannel$EpollStreamUnsafe.epollInReady(AbstractEpollStreamChannel.java:780)
 \tat io.netty.channel.epoll.EpollEventLoop.processReady(EpollEventLoop.java:475)
 \tat io.netty.channel.epoll.EpollEventLoop.run(EpollEventLoop.java:378)
 \tat io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989)
 \tat io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74)
 \tat io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
 \tat java.base/java.lang.Thread.run(Unknown Source)
 "}

Sample
Reproducible with a plain spring cloud gateway project (spring boot 2.3.5 / Hoxton.SR8) with a connected spring application that accepts multipart file uploads. The associated application config is the following.
server:
  port:
    8001

spring:
  application:
    name: gateway
  cloud:
    gateway:
      routes:
        - id: test
          uri: lb://test
          predicates:
            - Path=/web/**,/api/**,/webdav/**
          filters:
            - PreserveHostHeader
            - name: Retry
              args:
                retries: 3
                statuses: BAD_GATEWAY
                exceptions:
                  - java.net.ConnectException
          order: 1
      loadbalancer:
        use404: true
      x-forwarded:
        enabled: false
        proto-enabled: false

    loadbalancer:
      ribbon:
        enabled: false
eureka:
  client:
    registry-fetch-interval-seconds: 5

If you would like us to look at this issue, please provide the requested information. If the information is not provided within the next 7 days this issue will be closed.

I also encountered the problem when the request body was greater than 5M

What versions are you using?

Spring boot version 2.3.5.RELEASE
Spring cloud version Hoxton.SR10
Spring cloud gateway version 2.3.7.RELEASE

test demo

anyone solve this problem?
I also encountered the problem 。
version info :
Spring boot version 2.3.12.RELEASE
Spring cloud version Hoxton.SR11
Spring cloud gateway version 2.2.8.RELEASE
stack：

Is there any solution to this problem?I also encountered this problem 。

What versions are you using?
anyone solve this problem?

@spencergibb
anyone solve this problem?

I also encounter this problem,what should I do to solve this problem.
Spring boot version 2.2.10.RELEASE
Spring cloud gateway version 2.2.6.RELEASE
@spencergibb

I faced similar issue, by when can we expect a fix please.

I'm facing this issue even using the current version:
Spring Boot Version 3.2.4
Spring-cloud-starter-gateway 4.1.2
Any idea how to deal with this?

Reproducible at:
'org.springframework.boot' version '3.1.8'
'springCloudVersion', "2022.0.4"
Service with config like
-XX:MaxRAM=1200m -XX:MaxRAMPercentage=[40,50,60] [empty, -XX:MaxDirectMemorySize=64m, -XX:MaxDirectMemorySize=256m, -XX:MaxDirectMemorySize=512m]
will fail when:
Uploading(routing to downstream service) of 50 MB file through gateway with "java.lang.OutOfMemoryError: Cannot reserve X bytes of direct buffer memory (allocated: Y, limit: Z), it always try to use more than DirectMemorySize."
It is reproducible on just started service that did not route any uploads before so it does not look like a leak. It just try to use X times more memory than uploaded file size.
Everything works fine when I turn off
spring.cloud:
gateway:
default-filters:
- name: Retry
args:
retries: 3
statuses: BAD_GATEWAY, SERVICE_UNAVAILABLE, GATEWAY_TIMEOUT
methods: GET
backoff:
firstBackoff: X
maxBackoff: Y
factor: 2
basedOnPreviousValue: true


VRP: is there a way to force a vehicle to visit certain nodes after visting specific nodes?

Hi,
I am working on a VRP scenario that has one depot(end location) and various factories (pick up locations) and drop off locations. A vehicle has to go from the factory to the drop off and back to the factory. As such, I have made various dummy variables to be able to perform this. For example, I have duplicated the "Factory 1" and "Factory 2" nodes in order to force them to be the starting locations (i.e. prevent drop off nodes from being start nodes as you can't pick up a product from the drop off location). After, in order to take advantage of the "pickup deliveries" feature, I have duplicated "factory/drop off" node sets so that a vehicle goes from the factory to the drop off and back to the factory. (i.e. [2,3],[5,4] where 2 = 4 and 3=5).
However, this only works if there are a unique set of factory/drop off combinations.
For instance, when I add a new route using an already existing pickup/factory location, the output solution goest from:
11(factory 1, starting location) --> 3(factory 1) --> 14(drop off 3) -->12 (drop off 3) --> 6 (drop off 2) --> 4(drop off).
I was wondering if there was a way to add a conditional constraint (using penalties or constraints) where if a vehicle is at a certain node, it can't visit a list of other nodes? For instance, if a vehicle is at a drop off node, it can't go to another drop off node, it can only go to a pickup/factory node.
data['distance_matrix'] = [

    #STARTING LOCATIONS
    [   0,  430,  299,  430,  377,  430,  377,  299,  471,  299,  471,430, 1467,  430, 1467],#DEPOT
   [ 430,    0,  384,    0,  612,    0,  612,  384,  887,  384,  887, 0, 1744,    0, 1744], #FACTORY 1
   [ 299,  384,    0,  384,  666,  384,  666,    0,  727,    0,  727,384, 1765,  384, 1765],#FACTORY 2

    #FACTORY TO DROP OFF
   [ 430,    0,  384,    0,  612,    0,  612,  384,  887,  384,  887, 0, 1744,    0, 1744],#FACTORY 1
   [ 377,  612,  666,  612,    0,  612,    0,  666,  437,  666,  437,  612, 1138,  612, 1138],#DROP OFF 1
   #DROP OFF BACK TO FACTORY
    [ 430,    0,  384,    0,  612,    0,  612,  384,  887,  384,  887, 0, 1744,    0, 1744],#FACTORY 1
   [ 377,  612,  666,  612,    0,  612,    0,  666,  437,  666,  437,612, 1138,  612, 1138],#DROP OFF 1

    #FACTORY 2 TO DROP OFF #2
    [ 299,  384,    0,  384,  666,  384,  666,    0,  727,    0,  727,384, 1765,  384, 1765],#FACTORY 2
   [ 471,  887,  727,  887,  437,  887,  437,  727,    0,  727,    0,887, 1112,  887, 1112],#DROP OFF 2
    #DROP OFF #2 TO FACTORY 2
   [ 299,  384,    0,  384,  666,  384,  666,    0,  727,    0,  727,384, 1765,  384, 1765],#FACTORY 2
   [ 471,  887,  727,  887,  437,  887,  437,  727,    0,  727,    0,887, 1112,  887, 1112],#DROP OFF 2

    #FACTORY 1 TO DROP OFF#3
   [ 430,    0,  384,    0,  612,    0,  612,  384,  887,  384,  887,0, 1744,    0, 1744], #FACTORY 1
   [1467, 1744, 1765, 1744, 1138, 1744, 1138, 1765, 1112, 1765, 1112,1744,    0, 1744,    0],#DROP OFF 3

    #DROP OFF #3 TO FACTORY 1
   [ 430,    0,  384,    0,  612,    0,  612,  384,  887,  384,  887,0, 1744,    0, 1744],#FACTORY 1
   [1467, 1744, 1765, 1744, 1138, 1744, 1138, 1765, 1112, 1765, 1112,1744,    0, 1744,    0]] #DROP OFF 3

data['pickups_deliveries'] = [
    [3,4],#pick up at F1, drop 1
    [6, 5], #drop 1 to F1
    [7,8],#pick up at F2 to drop 2
    [10,9],# drop 2 to F2
    [11,12],#pick up at F1 to drop 3
    [14,13]#Drop 3 to F1
]
# [END pickups_deliveries]
data['num_vehicles'] = 2
data['starts'] = [1,2]
data['ends'] = [0,0]

OUTPUT
Objective: 398077
Route for vehicle 0:
1 ->  11 ->  3 ->  14 ->  12 ->  6 ->  4 ->  13 ->  5 -> 0
Distance of the route: 3924 miles
Route for vehicle 1:
2 ->  7 ->  10 ->  8 ->  9 -> 0
Distance of the route: 1753 miles
Total Distance of all routes: 5677 miles

In summary, is there a way to constraint routes, not individual nodes ?


introduce a queue of active streams for sending data

Should be merged after #1068.
The queue holds all streams that have data to send. When stream.Write or stream.Close are called, a stream is added to this queue. It is removed from the queue when all available (at that moment) data was sent.
This way, we don't need the round robin scheduling (which, for every packet sent, asked every single open stream if it had data) any more.

Codecov Report

Merging #1069 into master will decrease coverage by 0.03%.
The diff coverage is 93.75%.

@@            Coverage Diff             @@
##           master    #1069      +/-   ##
==========================================
- Coverage   90.94%   90.91%   -0.03%
==========================================
  Files         107      107
  Lines        7263     7270       +7
==========================================
+ Hits         6605     6609       +4
- Misses        427      431       +4
+ Partials      231      230       -1

Impacted Files
Coverage Δ

stream.go
88.24% <ø> (ø)
:arrow_up:

streams_map.go
89.76% <ø> (-2.46%)
:arrow_down:

crypto_stream.go
100% <ø> (ø)
:arrow_up:

session.go
84.71% <100%> (+0.08%)
:arrow_up:

send_stream.go
95.71% <85.71%> (+0.03%)
:arrow_up:

stream_framer.go
97.53% <94.74%> (+0.66%)
:arrow_up:

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 4519088...6aaefec. Read the comment docs.


Add more precise rest_client_request_latency_seconds histogram buckets

What this PR does / why we need it:
Current rest_client_request_latency_seconds histogram Buckets values are arbitrary, do not correspond to real-life requests latency distribution and are not giving the best observability possible.
Assuming that in a production deployment, majority of requests has a latency from range [150ms, 1s], current histogram definition will segregate the requests into only 3 buckets ((0.128, 0.256], (0.256,0.512], (0.512, + Inf)). This behavior causes KPIs like P95 or P99 to be less precise.
This PR follows the example of Kubernetes (https://github.com/kubernetes/kubernetes/pull/73638) and introduces custom buckets values for requests latency histogram. Especially, for mentioned before range of latencies [150ms, 1s], it will segregate the requests into at least 5 buckets (much more when considered +Inf or 1m instead of 1s).
Special notes for your reviewer:
It would be great to to discuss if the proposed buckets (taken from Kubernetes) are actually meaningful in KubeVirt context. Especially, it the largest buckets are relevant for KubeVirt requests profile.
Release note:

Added more precise rest_client_request_latency_seconds histogram buckets

/cc @rthallisey

/lgtm
/approve

/ok-to-test

/lgtm
Looks good.
But it might be good to keep in mind that more buckets will generate more data and introduce more overhead to prometheus.

/retest

/retest-required

/approve

/retest-reuqired

/retest-required


Automatic reference script

This PR will close #447 but allowing to implicit search for correct reference scripts in known utxos. In the process, this will also close #438.
In practice, this means that putting any script on utxos will be sufficient for cooked to find those scripts and use them as reference whenever required. In particular, putting reference scripts in the initial distribution will be even more useful.
A drawback of this approach is that there will be no visual difference between redeeming something with of without a reference script. To compensate, a new log entry is generated whenever cooked assigns a reference script by itself.
This automated addition of reference scripts can be turned off and it will still be possible to manually provide a reference input with a script attached when redeeming a script.

The feature is really nice and I see that now there is an option to disable it if we need manual control over. What do we need before it is ready for review?


Error trying to join server

When trying to enter a server this appears:

The mods list between the server and the client are the same, I am sure of that. So this is either a lightfall issue or a mohist issue.

Same issue, not only happened with mohist.

When will it be supported?

When will it be supported?

I'm not the developer, I'm also waiting for the solution lol. What I said is just my guess.


Fix and separate tests

Fixes two typoes in the tokeniser tests, and makes a new tests chapter to collect that and any future tests.
May need some close looking at the rich diffs, as I haven't been able to test the gitbook build to see if I've made any formatting mistakes.

gdgd