Add arm64 compatibility

Context

Adds arm64 compatibility with a separate Docker tag and Dockerfile.

Choices

Added new gh actions build workflows for arm64 images.
A different tag is required as a separate Dockerfile is needed for arm64 compatibility. Should also be better overall to avoid any breaking changes for current amd64 users.
The arm64 Dockerfile uses a steamcmd base image with Box64 included for emulation. I had better performance with Box64 compared to FEX.
rcon-cli is also built in the arm64 Dockerfile as they don't seem to include arm64-linux on their releases.
start.sh has been slightly modified to generate a modified PalServer.sh script for arm64 and use Box64 to launch the server.

Test instructions

See if gh actions successfully builds both amd64 and arm64 images.
Tested arm64 image in an Oracle ARM64 VPS Free Tier (4 CPU, 24 GB RAM)
Tested features in arm64 image (RCON, Server Commands, Backup, Restore, cronjobs, etc.)

Checklist before requesting a review

[v] I have performed a self-review of my code
[v] I've added documentation about this change to the README.
[v] I've not introduced breaking changes.

This should resolve #10 without needing much changes to the core scripts.

@sonroyaalmerol Awesome work, made a few changes, if you could resolve the linting errors it will be ready to merge!


Azure Log Analytics scaler

In standard AKS setup, Log Analytics takes central part in storing OMS agent metrics, logs from pods, during building a monitoring dashboards and generate alerts. Also, OMS agent could be configured to scrap Prometheus metrics, so they also can be landed in Log Analytics workspace. Advantage of using Container Insights (OMS agents) is that "It just works", you don't need to support it, and in many cases even configure it. So, with Log Analytics and Container Insights there is complete monitoring story in place, but the question is, how to use this data to scale deployments? And as of now, the answer is - you can't do this.
To fill this gap, I have started to develop Log Analytics scaler and here I would like to use community experience and knowledges to better understand potential requirements and limitations.
Use-Case

Use Log Analytics query to retrieve required metric will be used by Keda and HPA to scale deployments.
Potentially, use Log Analytics query to retrieve threshold will be configured during scaler creation.

Requirements and limitations

Authorisation using AAD Service Principal
Automatic tracking token expiration and reclaim it, when needed.
Query should return the following datatypes: real, int, long (use this as a reference for LA datatypes). At the end, scaler will convert it to int64. This will be a part of query result validation.
Query should return one table with one row.
Cell # 1 will be used as metric, cell # 2 can be used as threshold (optional). So, in a moment of creating instance of scaler, threshold could be retrieved from ScalerObject metadata, or from LA query result.

If you have any good proposals\suggestions for LA scaler, feel free to put them in comments.
Thank you!

I like the idea! Are you willing to contribute this?

I like the idea! Are you willing to contribute this?

Yep, the first version to try is here: https://github.com/kedacore/keda/pull/1085

This is done, thanks man!


Pause upload in error event

Hello I want to pause the uploader onError event in case of server code 0 but the uploader is throwing exception

Ignoring pause for file ID 0 (out2.mp4).  Not in progress.

Please guide me how can i pause the upload in case of server/network disconnection
Regards,
Awais Tariq

This is best addressed in the core library


Udp cleanup

Codecov Report

Merging #9939 into master will decrease coverage by <.01%.
The diff coverage is 50%.

@@            Coverage Diff            @@
##           master   #9939      +/-   ##
=========================================
- Coverage   52.51%   52.5%   -0.01%
=========================================
  Files         213     213
  Lines       26082   26075       -7
  Branches     5624    5624
=========================================
- Hits        13696   13691       -5
+ Misses      10135   10133       -2
  Partials     2251    2251

Impacted Files
Coverage Δ

subsys/net/ip/net_core.c
73.48% <ø> (-0.2%)
:arrow_down:

subsys/net/ip/udp.c
54.95% <50%> (-0.61%)
:arrow_down:

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 ccade20...aa869c2. Read the comment docs.


Remove unused variable AutoMapperVersion

@Eilon: 2.0 or dev?

@mikeharder,
Thanks for having already signed the Contribution License Agreement. Your agreement was validated by .NET Foundation. We will now review your pull request.
Thanks,
.NET Foundation Pull Request Bot

Thanks! I've merged this into dev because it won't make any difference to put it in rel/2.0.0, and we're trying to minimise the amount of commit noise on that branch.


Good practices: Do not automatically add env vars to .profile

It is ok to ask the user to define the env vars, but it is a bad idea to touch the .profile file ourselves from the installer.

I agree, it is a bit invasive but I think that users who care about it, would not use the installer anyway and just install the script manually. But, for users that don't know where their shell profile is and how to edit it, the script is very useful. I added a question before editing the shell profile, so it is crystal clear to anyone what happens when running the install script. 👍


Geos libraries are not found with package installed from source on Linux (Python 3.9)

Expected behavior and actual behavior.
Package installed from source should reliably find geos libraries.
But shapely is confused with library name conventions: "libgeos" and "geos". See such error message:
FileNotFoundError: [Errno 2] No such file or directory: b'liblibgeos_c.a'`
Steps to reproduce the problem.
git clone
python setup.py install
python -c "import shapely.geos"
Operating system
Probably all versions of Linux, checked with Debian Bullseye
Python 3.9
Shapely version and provenance
1.8 & 2.0 (github)

I think there's a confusion with the use of ctypes.util.find_library() . Eg, in https://bugs.python.org/issue9998:
ctypes.util.find_library(name)
    Try to find a library and return a pathname. name is the library name without any prefix like lib, suffix like .so, .dylib or version number (this is the form used for the posix linker option -l). If no library can be found, returns None.

The quick patch below solves the issue:
diff --git a/shapely/geos.py b/shapely/geos.py
index 41ffbc1..87e9cb3 100644
--- a/shapely/geos.py
+++ b/shapely/geos.py
@@ -96,7 +96,7 @@ if sys.platform.startswith('linux'):
             'libgeos_c.so.1',
             'libgeos_c.so',
         ]
-        _lgeos = load_dll('libgeos_c', fallbacks=alt_paths)
+        _lgeos = load_dll('geos_c', fallbacks=alt_paths)
     # Necessary for environments with only libc.musl
     c_alt_paths = [
         'libc.musl-x86_64.so.1'

I tried to reproduce this using the python:3.9-buster image but could not.
 Done
Building dependency tree
Reading state information... Done
46 packages can be upgraded. Run 'apt list --upgradable' to see them.
root@d1828677682f:/# apt install libgeos-dev
Reading package lists... Done
Building dependency tree
Reading state information... Done
Suggested packages:
  libgdal-doc
The following NEW packages will be installed:
  libgeos-3.7.1 libgeos-c1v5 libgeos-dev
0 upgraded, 3 newly installed, 0 to remove and 46 not upgraded.
Need to get 1354 kB of archives.
After this operation, 3705 kB of additional disk space will be used.
Do you want to continue? [Y/n]
Get:1 http://deb.debian.org/debian buster/main amd64 libgeos-3.7.1 amd64 3.7.1-1 [735 kB]
Get:2 http://deb.debian.org/debian buster/main amd64 libgeos-c1v5 amd64 3.7.1-1 [299 kB]
Get:3 http://deb.debian.org/debian buster/main amd64 libgeos-dev amd64 3.7.1-1 [320 kB]
Fetched 1354 kB in 0s (8277 kB/s)
debconf: delaying package configuration, since apt-utils is not installed
Selecting previously unselected package libgeos-3.7.1:amd64.
(Reading database ... 24611 files and directories currently installed.)
Preparing to unpack .../libgeos-3.7.1_3.7.1-1_amd64.deb ...
Unpacking libgeos-3.7.1:amd64 (3.7.1-1) ...
Selecting previously unselected package libgeos-c1v5:amd64.
Preparing to unpack .../libgeos-c1v5_3.7.1-1_amd64.deb ...
Unpacking libgeos-c1v5:amd64 (3.7.1-1) ...
Selecting previously unselected package libgeos-dev.
Preparing to unpack .../libgeos-dev_3.7.1-1_amd64.deb ...
Unpacking libgeos-dev (3.7.1-1) ...
Setting up libgeos-3.7.1:amd64 (3.7.1-1) ...
Setting up libgeos-c1v5:amd64 (3.7.1-1) ...
Setting up libgeos-dev (3.7.1-1) ...
Processing triggers for libc-bin (2.28-10) ...
root@d1828677682f:/# mkdir src
root@d1828677682f:/# cd src
root@d1828677682f:/src# git clone https://github.com/Toblerity/Shapely.git
Cloning into 'Shapely'...
remote: Enumerating objects: 8290, done.
remote: Counting objects: 100% (332/332), done.
remote: Compressing objects: 100% (171/171), done.
remote: Total 8290 (delta 196), reused 256 (delta 150), pack-reused 7958
Receiving objects: 100% (8290/8290), 3.33 MiB | 7.73 MiB/s, done.
Resolving deltas: 100% (5308/5308), done.
root@d1828677682f:/src# cd Shapely/
root@d1828677682f:/src/Shapely# ls
CHANGES.txt         DLLs_x86_VC7       ISSUE_TEMPLATE.md  appveyor.yml           docs                  setup.cfg
CITATION.txt        DLLs_x86_VC9       LICENSE.txt        build-linux-wheels.sh  environment.yml       setup.py
CODE_OF_CONDUCT.md  Dockerfile.wheels  MANIFEST.in        build-scripts          readthedocs.yml       shapely
CREDITS.txt         FAQ.rst            README.rst         build-wheels.sh        requirements-dev.txt  tests
DLLs_AMD64_VC9      GEOS-C-API.txt     _vendor            ci                     requirements.txt      tools
root@d1828677682f:/src/Shapely# python setup.py install
WARNING:/src/Shapely/setup.py:speedup extension not found
running install
running bdist_egg
running egg_info
creating Shapely.egg-info
writing Shapely.egg-info/PKG-INFO
writing dependency_links to Shapely.egg-info/dependency_links.txt
writing requirements to Shapely.egg-info/requires.txt
writing top-level names to Shapely.egg-info/top_level.txt
writing manifest file 'Shapely.egg-info/SOURCES.txt'
reading manifest file 'Shapely.egg-info/SOURCES.txt'
reading manifest template 'MANIFEST.in'
no previously-included directories found matching 'manual'
no previously-included directories found matching 'debian'
no previously-included directories found matching 'docs'
no previously-included directories found matching 'DLLs_AMD64'
no previously-included directories found matching 'DLLs_x86'
warning: no previously-included files found matching '*.txt'
warning: no files found matching '*.dll' under directory 'shapely/DLLs'
warning: no files found matching '*.rst' under directory 'shapely/DLLs'
warning: no files found matching '*.txt' under directory 'shapely/DLLs'
adding license file 'LICENSE.txt'
writing manifest file 'Shapely.egg-info/SOURCES.txt'
installing library code to build/bdist.linux-x86_64/egg
running install_lib
running build_py
creating build
creating build/lib.linux-x86_64-3.9
creating build/lib.linux-x86_64-3.9/shapely
copying shapely/strtree.py -> build/lib.linux-x86_64-3.9/shapely
copying shapely/predicates.py -> build/lib.linux-x86_64-3.9/shapely
copying shapely/ops.py -> build/lib.linux-x86_64-3.9/shapely
copying shapely/wkb.py -> build/lib.linux-x86_64-3.9/shapely
copying shapely/geos.py -> build/lib.linux-x86_64-3.9/shapely
copying shapely/errors.py -> build/lib.linux-x86_64-3.9/shapely
copying shapely/iterops.py -> build/lib.linux-x86_64-3.9/shapely
copying shapely/affinity.py -> build/lib.linux-x86_64-3.9/shapely
copying shapely/validation.py -> build/lib.linux-x86_64-3.9/shapely
copying shapely/impl.py -> build/lib.linux-x86_64-3.9/shapely
copying shapely/wkt.py -> build/lib.linux-x86_64-3.9/shapely
copying shapely/linref.py -> build/lib.linux-x86_64-3.9/shapely
copying shapely/coords.py -> build/lib.linux-x86_64-3.9/shapely
copying shapely/ctypes_declarations.py -> build/lib.linux-x86_64-3.9/shapely
copying shapely/prepared.py -> build/lib.linux-x86_64-3.9/shapely
copying shapely/_buildcfg.py -> build/lib.linux-x86_64-3.9/shapely
copying shapely/__init__.py -> build/lib.linux-x86_64-3.9/shapely
copying shapely/topology.py -> build/lib.linux-x86_64-3.9/shapely
creating build/lib.linux-x86_64-3.9/shapely/geometry
copying shapely/geometry/point.py -> build/lib.linux-x86_64-3.9/shapely/geometry
copying shapely/geometry/proxy.py -> build/lib.linux-x86_64-3.9/shapely/geometry
copying shapely/geometry/geo.py -> build/lib.linux-x86_64-3.9/shapely/geometry
copying shapely/geometry/polygon.py -> build/lib.linux-x86_64-3.9/shapely/geometry
copying shapely/geometry/multilinestring.py -> build/lib.linux-x86_64-3.9/shapely/geometry
copying shapely/geometry/multipoint.py -> build/lib.linux-x86_64-3.9/shapely/geometry
copying shapely/geometry/collection.py -> build/lib.linux-x86_64-3.9/shapely/geometry
copying shapely/geometry/multipolygon.py -> build/lib.linux-x86_64-3.9/shapely/geometry
copying shapely/geometry/linestring.py -> build/lib.linux-x86_64-3.9/shapely/geometry
copying shapely/geometry/base.py -> build/lib.linux-x86_64-3.9/shapely/geometry
copying shapely/geometry/__init__.py -> build/lib.linux-x86_64-3.9/shapely/geometry
creating build/lib.linux-x86_64-3.9/shapely/algorithms
copying shapely/algorithms/polylabel.py -> build/lib.linux-x86_64-3.9/shapely/algorithms
copying shapely/algorithms/cga.py -> build/lib.linux-x86_64-3.9/shapely/algorithms
copying shapely/algorithms/__init__.py -> build/lib.linux-x86_64-3.9/shapely/algorithms
creating build/lib.linux-x86_64-3.9/shapely/examples
copying shapely/examples/geoms.py -> build/lib.linux-x86_64-3.9/shapely/examples
copying shapely/examples/intersect.py -> build/lib.linux-x86_64-3.9/shapely/examples
copying shapely/examples/dissolve.py -> build/lib.linux-x86_64-3.9/shapely/examples
copying shapely/examples/__init__.py -> build/lib.linux-x86_64-3.9/shapely/examples
creating build/lib.linux-x86_64-3.9/shapely/speedups
copying shapely/speedups/__init__.py -> build/lib.linux-x86_64-3.9/shapely/speedups
creating build/lib.linux-x86_64-3.9/shapely/vectorized
copying shapely/vectorized/__init__.py -> build/lib.linux-x86_64-3.9/shapely/vectorized
copying shapely/_geos.pxi -> build/lib.linux-x86_64-3.9/shapely
copying shapely/speedups/_speedups.pyx -> build/lib.linux-x86_64-3.9/shapely/speedups
copying shapely/vectorized/_vectorized.pyx -> build/lib.linux-x86_64-3.9/shapely/vectorized
running build_ext
building 'shapely.speedups._speedups' extension
creating build/temp.linux-x86_64-3.9
creating build/temp.linux-x86_64-3.9/shapely
creating build/temp.linux-x86_64-3.9/shapely/speedups
gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -fPIC -I/usr/include -I/usr/local/include/python3.9 -c shapely/speedups/_speedups.c -o build/temp.linux-x86_64-3.9/shapely/speedups/_speedups.o
gcc: error: shapely/speedups/_speedups.c: No such file or directory
gcc: fatal error: no input files
compilation terminated.
WARNING:/src/Shapely/setup.py:command '/usr/bin/gcc' failed with exit code 1
WARNING:/src/Shapely/setup.py:The C extension could not be compiled, speedups are not enabled.
WARNING:/src/Shapely/setup.py:Failure information, if any, is above.
WARNING:/src/Shapely/setup.py:I'm retrying the build without the C extension now.
running install
running bdist_egg
running egg_info
writing Shapely.egg-info/PKG-INFO
writing dependency_links to Shapely.egg-info/dependency_links.txt
writing requirements to Shapely.egg-info/requires.txt
writing top-level names to Shapely.egg-info/top_level.txt
reading manifest file 'Shapely.egg-info/SOURCES.txt'
reading manifest template 'MANIFEST.in'
no previously-included directories found matching 'manual'
no previously-included directories found matching 'debian'
no previously-included directories found matching 'DLLs_AMD64'
no previously-included directories found matching 'DLLs_x86'
warning: no files found matching '*.dll' under directory 'shapely/DLLs'
warning: no files found matching '*.rst' under directory 'shapely/DLLs'
warning: no files found matching '*.txt' under directory 'shapely/DLLs'
adding license file 'LICENSE.txt'
writing manifest file 'Shapely.egg-info/SOURCES.txt'
installing library code to build/bdist.linux-x86_64/egg
running install_lib
running build_py
creating build/lib
creating build/lib/shapely
copying shapely/strtree.py -> build/lib/shapely
copying shapely/predicates.py -> build/lib/shapely
copying shapely/ops.py -> build/lib/shapely
copying shapely/wkb.py -> build/lib/shapely
copying shapely/geos.py -> build/lib/shapely
copying shapely/errors.py -> build/lib/shapely
copying shapely/iterops.py -> build/lib/shapely
copying shapely/affinity.py -> build/lib/shapely
copying shapely/validation.py -> build/lib/shapely
copying shapely/impl.py -> build/lib/shapely
copying shapely/wkt.py -> build/lib/shapely
copying shapely/linref.py -> build/lib/shapely
copying shapely/coords.py -> build/lib/shapely
copying shapely/ctypes_declarations.py -> build/lib/shapely
copying shapely/prepared.py -> build/lib/shapely
copying shapely/_buildcfg.py -> build/lib/shapely
copying shapely/__init__.py -> build/lib/shapely
copying shapely/topology.py -> build/lib/shapely
creating build/lib/shapely/geometry
copying shapely/geometry/point.py -> build/lib/shapely/geometry
copying shapely/geometry/proxy.py -> build/lib/shapely/geometry
copying shapely/geometry/geo.py -> build/lib/shapely/geometry
copying shapely/geometry/polygon.py -> build/lib/shapely/geometry
copying shapely/geometry/multilinestring.py -> build/lib/shapely/geometry
copying shapely/geometry/multipoint.py -> build/lib/shapely/geometry
copying shapely/geometry/collection.py -> build/lib/shapely/geometry
copying shapely/geometry/multipolygon.py -> build/lib/shapely/geometry
copying shapely/geometry/linestring.py -> build/lib/shapely/geometry
copying shapely/geometry/base.py -> build/lib/shapely/geometry
copying shapely/geometry/__init__.py -> build/lib/shapely/geometry
creating build/lib/shapely/algorithms
copying shapely/algorithms/polylabel.py -> build/lib/shapely/algorithms
copying shapely/algorithms/cga.py -> build/lib/shapely/algorithms
copying shapely/algorithms/__init__.py -> build/lib/shapely/algorithms
creating build/lib/shapely/examples
copying shapely/examples/geoms.py -> build/lib/shapely/examples
copying shapely/examples/intersect.py -> build/lib/shapely/examples
copying shapely/examples/dissolve.py -> build/lib/shapely/examples
copying shapely/examples/__init__.py -> build/lib/shapely/examples
creating build/lib/shapely/speedups
copying shapely/speedups/__init__.py -> build/lib/shapely/speedups
creating build/lib/shapely/vectorized
copying shapely/vectorized/__init__.py -> build/lib/shapely/vectorized
copying shapely/_geos.pxi -> build/lib/shapely
copying shapely/speedups/_speedups.pyx -> build/lib/shapely/speedups
copying shapely/vectorized/_vectorized.pyx -> build/lib/shapely/vectorized
creating build/bdist.linux-x86_64
creating build/bdist.linux-x86_64/egg
creating build/bdist.linux-x86_64/egg/shapely
copying build/lib/shapely/strtree.py -> build/bdist.linux-x86_64/egg/shapely
copying build/lib/shapely/predicates.py -> build/bdist.linux-x86_64/egg/shapely
copying build/lib/shapely/_geos.pxi -> build/bdist.linux-x86_64/egg/shapely
copying build/lib/shapely/ops.py -> build/bdist.linux-x86_64/egg/shapely
copying build/lib/shapely/wkb.py -> build/bdist.linux-x86_64/egg/shapely
copying build/lib/shapely/geos.py -> build/bdist.linux-x86_64/egg/shapely
copying build/lib/shapely/errors.py -> build/bdist.linux-x86_64/egg/shapely
creating build/bdist.linux-x86_64/egg/shapely/speedups
copying build/lib/shapely/speedups/_speedups.pyx -> build/bdist.linux-x86_64/egg/shapely/speedups
copying build/lib/shapely/speedups/__init__.py -> build/bdist.linux-x86_64/egg/shapely/speedups
copying build/lib/shapely/iterops.py -> build/bdist.linux-x86_64/egg/shapely
copying build/lib/shapely/affinity.py -> build/bdist.linux-x86_64/egg/shapely
creating build/bdist.linux-x86_64/egg/shapely/examples
copying build/lib/shapely/examples/geoms.py -> build/bdist.linux-x86_64/egg/shapely/examples
copying build/lib/shapely/examples/intersect.py -> build/bdist.linux-x86_64/egg/shapely/examples
copying build/lib/shapely/examples/dissolve.py -> build/bdist.linux-x86_64/egg/shapely/examples
copying build/lib/shapely/examples/__init__.py -> build/bdist.linux-x86_64/egg/shapely/examples
copying build/lib/shapely/validation.py -> build/bdist.linux-x86_64/egg/shapely
copying build/lib/shapely/impl.py -> build/bdist.linux-x86_64/egg/shapely
copying build/lib/shapely/wkt.py -> build/bdist.linux-x86_64/egg/shapely
copying build/lib/shapely/linref.py -> build/bdist.linux-x86_64/egg/shapely
copying build/lib/shapely/coords.py -> build/bdist.linux-x86_64/egg/shapely
copying build/lib/shapely/ctypes_declarations.py -> build/bdist.linux-x86_64/egg/shapely
copying build/lib/shapely/prepared.py -> build/bdist.linux-x86_64/egg/shapely
copying build/lib/shapely/_buildcfg.py -> build/bdist.linux-x86_64/egg/shapely
creating build/bdist.linux-x86_64/egg/shapely/vectorized
copying build/lib/shapely/vectorized/_vectorized.pyx -> build/bdist.linux-x86_64/egg/shapely/vectorized
copying build/lib/shapely/vectorized/__init__.py -> build/bdist.linux-x86_64/egg/shapely/vectorized
creating build/bdist.linux-x86_64/egg/shapely/algorithms
copying build/lib/shapely/algorithms/polylabel.py -> build/bdist.linux-x86_64/egg/shapely/algorithms
copying build/lib/shapely/algorithms/cga.py -> build/bdist.linux-x86_64/egg/shapely/algorithms
copying build/lib/shapely/algorithms/__init__.py -> build/bdist.linux-x86_64/egg/shapely/algorithms
creating build/bdist.linux-x86_64/egg/shapely/geometry
copying build/lib/shapely/geometry/point.py -> build/bdist.linux-x86_64/egg/shapely/geometry
copying build/lib/shapely/geometry/proxy.py -> build/bdist.linux-x86_64/egg/shapely/geometry
copying build/lib/shapely/geometry/geo.py -> build/bdist.linux-x86_64/egg/shapely/geometry
copying build/lib/shapely/geometry/polygon.py -> build/bdist.linux-x86_64/egg/shapely/geometry
copying build/lib/shapely/geometry/multilinestring.py -> build/bdist.linux-x86_64/egg/shapely/geometry
copying build/lib/shapely/geometry/multipoint.py -> build/bdist.linux-x86_64/egg/shapely/geometry
copying build/lib/shapely/geometry/collection.py -> build/bdist.linux-x86_64/egg/shapely/geometry
copying build/lib/shapely/geometry/multipolygon.py -> build/bdist.linux-x86_64/egg/shapely/geometry
copying build/lib/shapely/geometry/linestring.py -> build/bdist.linux-x86_64/egg/shapely/geometry
copying build/lib/shapely/geometry/base.py -> build/bdist.linux-x86_64/egg/shapely/geometry
copying build/lib/shapely/geometry/__init__.py -> build/bdist.linux-x86_64/egg/shapely/geometry
copying build/lib/shapely/__init__.py -> build/bdist.linux-x86_64/egg/shapely
copying build/lib/shapely/topology.py -> build/bdist.linux-x86_64/egg/shapely
byte-compiling build/bdist.linux-x86_64/egg/shapely/strtree.py to strtree.cpython-39.pyc
byte-compiling build/bdist.linux-x86_64/egg/shapely/predicates.py to predicates.cpython-39.pyc
byte-compiling build/bdist.linux-x86_64/egg/shapely/ops.py to ops.cpython-39.pyc
byte-compiling build/bdist.linux-x86_64/egg/shapely/wkb.py to wkb.cpython-39.pyc
byte-compiling build/bdist.linux-x86_64/egg/shapely/geos.py to geos.cpython-39.pyc
byte-compiling build/bdist.linux-x86_64/egg/shapely/errors.py to errors.cpython-39.pyc
byte-compiling build/bdist.linux-x86_64/egg/shapely/speedups/__init__.py to __init__.cpython-39.pyc
byte-compiling build/bdist.linux-x86_64/egg/shapely/iterops.py to iterops.cpython-39.pyc
byte-compiling build/bdist.linux-x86_64/egg/shapely/affinity.py to affinity.cpython-39.pyc
byte-compiling build/bdist.linux-x86_64/egg/shapely/examples/geoms.py to geoms.cpython-39.pyc
byte-compiling build/bdist.linux-x86_64/egg/shapely/examples/intersect.py to intersect.cpython-39.pyc
byte-compiling build/bdist.linux-x86_64/egg/shapely/examples/dissolve.py to dissolve.cpython-39.pyc
byte-compiling build/bdist.linux-x86_64/egg/shapely/examples/__init__.py to __init__.cpython-39.pyc
byte-compiling build/bdist.linux-x86_64/egg/shapely/validation.py to validation.cpython-39.pyc
byte-compiling build/bdist.linux-x86_64/egg/shapely/impl.py to impl.cpython-39.pyc
byte-compiling build/bdist.linux-x86_64/egg/shapely/wkt.py to wkt.cpython-39.pyc
byte-compiling build/bdist.linux-x86_64/egg/shapely/linref.py to linref.cpython-39.pyc
byte-compiling build/bdist.linux-x86_64/egg/shapely/coords.py to coords.cpython-39.pyc
byte-compiling build/bdist.linux-x86_64/egg/shapely/ctypes_declarations.py to ctypes_declarations.cpython-39.pyc
byte-compiling build/bdist.linux-x86_64/egg/shapely/prepared.py to prepared.cpython-39.pyc
byte-compiling build/bdist.linux-x86_64/egg/shapely/_buildcfg.py to _buildcfg.cpython-39.pyc
byte-compiling build/bdist.linux-x86_64/egg/shapely/vectorized/__init__.py to __init__.cpython-39.pyc
byte-compiling build/bdist.linux-x86_64/egg/shapely/algorithms/polylabel.py to polylabel.cpython-39.pyc
byte-compiling build/bdist.linux-x86_64/egg/shapely/algorithms/cga.py to cga.cpython-39.pyc
byte-compiling build/bdist.linux-x86_64/egg/shapely/algorithms/__init__.py to __init__.cpython-39.pyc
byte-compiling build/bdist.linux-x86_64/egg/shapely/geometry/point.py to point.cpython-39.pyc
byte-compiling build/bdist.linux-x86_64/egg/shapely/geometry/proxy.py to proxy.cpython-39.pyc
byte-compiling build/bdist.linux-x86_64/egg/shapely/geometry/geo.py to geo.cpython-39.pyc
byte-compiling build/bdist.linux-x86_64/egg/shapely/geometry/polygon.py to polygon.cpython-39.pyc
byte-compiling build/bdist.linux-x86_64/egg/shapely/geometry/multilinestring.py to multilinestring.cpython-39.pyc
byte-compiling build/bdist.linux-x86_64/egg/shapely/geometry/multipoint.py to multipoint.cpython-39.pyc
byte-compiling build/bdist.linux-x86_64/egg/shapely/geometry/collection.py to collection.cpython-39.pyc
byte-compiling build/bdist.linux-x86_64/egg/shapely/geometry/multipolygon.py to multipolygon.cpython-39.pyc
byte-compiling build/bdist.linux-x86_64/egg/shapely/geometry/linestring.py to linestring.cpython-39.pyc
byte-compiling build/bdist.linux-x86_64/egg/shapely/geometry/base.py to base.cpython-39.pyc
byte-compiling build/bdist.linux-x86_64/egg/shapely/geometry/__init__.py to __init__.cpython-39.pyc
byte-compiling build/bdist.linux-x86_64/egg/shapely/__init__.py to __init__.cpython-39.pyc
byte-compiling build/bdist.linux-x86_64/egg/shapely/topology.py to topology.cpython-39.pyc
creating build/bdist.linux-x86_64/egg/EGG-INFO
copying Shapely.egg-info/PKG-INFO -> build/bdist.linux-x86_64/egg/EGG-INFO
copying Shapely.egg-info/SOURCES.txt -> build/bdist.linux-x86_64/egg/EGG-INFO
copying Shapely.egg-info/dependency_links.txt -> build/bdist.linux-x86_64/egg/EGG-INFO
copying Shapely.egg-info/requires.txt -> build/bdist.linux-x86_64/egg/EGG-INFO
copying Shapely.egg-info/top_level.txt -> build/bdist.linux-x86_64/egg/EGG-INFO
zip_safe flag not set; analyzing archive contents...
shapely.__pycache__._buildcfg.cpython-39: module references __file__
shapely.__pycache__.geos.cpython-39: module references __file__
creating dist
creating 'dist/Shapely-1.8a2-py3.9.egg' and adding 'build/bdist.linux-x86_64/egg' to it
removing 'build/bdist.linux-x86_64/egg' (and everything under it)
Processing Shapely-1.8a2-py3.9.egg
creating /usr/local/lib/python3.9/site-packages/Shapely-1.8a2-py3.9.egg
Extracting Shapely-1.8a2-py3.9.egg to /usr/local/lib/python3.9/site-packages
Adding Shapely 1.8a2 to easy-install.pth file

Installed /usr/local/lib/python3.9/site-packages/Shapely-1.8a2-py3.9.egg
Processing dependencies for Shapely==1.8a2
Finished processing dependencies for Shapely==1.8a2
WARNING:/src/Shapely/setup.py:The C extension could not be compiled, speedups are not enabled.
root@d1828677682f:/src/Shapely# python -c "import shapely.geos"

Thanks Joshua for cross checking. I'm not familiar with Docker environments, there could be some difference with the environment i use (plain Debian system with Python virtual environment, no conda).
I can see that, in the file shapely/geos.py, there are several tests/branches before the problematic load_dll call is reached, line 99.
Could you verify that it is reached in your environment? Eg, by putting a "breakpoint()" statement on line 76, using the Python debugger and checking with the interpreter if the load_dll function is called.

@aprilmay python setup.py install tries to use a program named geos-config to find your GEOS headers and library. It looks like your system may not provide it or that it may be malfunctioning. We have instructions in the setup.py file for what to do if you don't have a geos-config (as in the Windows case).

The quick patch below solves the issue:
diff --git a/shapely/geos.py b/shapely/geos.py
index 41ffbc1..87e9cb3 100644
--- a/shapely/geos.py
+++ b/shapely/geos.py
@@ -96,7 +96,7 @@ if sys.platform.startswith('linux'):
             'libgeos_c.so.1',
             'libgeos_c.so',
         ]
-        _lgeos = load_dll('libgeos_c', fallbacks=alt_paths)
+        _lgeos = load_dll('geos_c', fallbacks=alt_paths)
     # Necessary for environments with only libc.musl
     c_alt_paths = [
         'libc.musl-x86_64.so.1'

This is the same fix from #1201

@sgillies I am quite sure there's no issue with geos-config (provided by debian package libgeos-dev).
However i am fine with this ticket being closed, as this issue does not occur in the main branch (pygeos integration).

My problem that led me to this thread was that I needed to apt-get install libgeos-dev.
Thanks to aprilmay's comment for making that clear to me


Update reactivemongo-bson-api to 1.0.0

Updates org.reactivemongo:reactivemongo-bson-api from 1.0.0-rc.2 to 1.0.0.
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Configure Scala Steward for your repository with a .scala-steward.conf file.
Have a fantastic day writing Scala!

Ignore future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "org.reactivemongo", artifactId = "reactivemongo-bson-api" } ]

labels: library-update, semver-pre-release

Codecov Report

Merging #138 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master     #138   +/-   ##
=======================================
  Coverage   41.66%   41.66%
=======================================
  Files           1        1
  Lines          36       36
  Branches        1        1
=======================================
  Hits           15       15
  Misses         21       21

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 32036c2...5d970a1. Read the comment docs.


Add support to forward header with oidc token

Scenario
For whom that want to use the user claims in their application or other layers (OPA I'm looking to you :D), this PR add the header X-Oidc-Token to the forwarded headers supported by  thomseddon / traefik-forward-auth; with that, subsequent middlewares or applications can decrypt and use the information inside the token.
Inspired by https://github.com/istio/istio/issues/11108
What has been done

[x] Added oidc token to AuthCookie.
[x] Added X-Oidc-Token header.
[x] Updated Docs to reflect the new header.
[x] Manual Tests with Auth0/OIDC.

I like this - I wonder if there's a more generic way to handle forwarding parameters from providers? There's an earlier request for the access token with the google provider in #30 as well the OIDC claims.

@thomseddon, Ideally we should have  id_token , access_token and refresh_token available, but I don't know if there is security implications for access_token.
Looking at some solutions like AWS ALB, it make those tokens available as forwarded headers:

This PR can be this first step; acess and refresh token can and should be implemented in future PRs.

This was actually raised in #30 and I think it would make sense to use the same generic header as oauth2_proxy:X-Forwarded-Access-Token
To prevent tampering, we will also need to include this in the hash that's prepended in the cookie, and verify the hash matches in ValidateCookie.
I'm also wondering if we should encrypt the value rather than leaving it in plain text in the cookie, I will have to do some reading in the specs/rfcs on that one and will update here when that's clear. Would you be willing to make the above changes?

Hi,
thanks for work and effort.
is there a docker image to try out the changes done by this PR.
And when do you think you will finish the work on this?

@thomseddon I'm willing to finish this PR. Do you have some update about the spec reading?

Hi,
you have done an amazing work on the whole project.
Are you going to add the extra header for the access token?

Hey any updates here? Would be pretty helpful if this can be merged somehow soon.

Is this PR going to move forward or should I look to maybe a Lua filter if I want to log fields from inside a token?

Hey - I've done a bit more reading and I'm pretty positive we should be encrypting the tokens before storing them in the cookie (perhaps the email should be encrypted too?), please let me know if you think this may be unnecessary?
This shouldn't be too difficult to do, I'd also like to ensure the implementation is backwards compatible - so users who still have a cookie generated using the previous technique will not suddenly be flagged as having an invalid cookie.
That all sounds good?

I wasn't sure about the changes needed to work, but it seems more clear now.
I feel that the last part of your comment can be considered as an answer to that other comment that you did, that said: I wonder if there's a more generic way to handle forwarding parameters from providers?.
What I Think: Maybe the allow list of forwarded headers + cookie structure, can be the generic way to avoid hard-coded allowed headers and, by allowing the user to configure the headers, you can pass on the responsibility about the cookie structure as well.

What exactly is preventing this PR to get merged?

If I understand this feature correctly, I think I may be another person who will benefit.
I currently use Forward Auth with Auth0, where I have custom metadata fields in the user profile in the access token which are used to determine things like what URL a User is redirected to after logging in to auth.domain.com. Forward Auth sits in front of each subdomain so I'd like to be able to access those fields so that the bearer of an access token who was routed to x.domain.com can't access y.domain.com or z.domain.com.
Or is there a way I can use something like Cookie Domain? Thanks.

I guess this is waiting to address this comment before it is merged https://github.com/thomseddon/traefik-forward-auth/pull/100#issuecomment-678639777 but at least in my case this is preventing my project to use this tool.
@gcavalcante8808 as it has been commented before I would use standard header introduced by oauth2_proxy X-Forwarded-Access-Token

I'd also like to see support for passing the token, but with an option for a more standard Authorization: Bearer <token> format. I am migrating from a legacy forwardauth solution, and need this for Kubernetes Dashboard and other applications to pick up the authorization correctly.

Any updates on this? I think this project does a pretty awesome job and is a pretty clean solution for people that want to use Traefik as an API gateway, but this feature is crucial for my project.


Issue117 view change log

Ready for test. There are a couple issues:

Drop-down (select) menus. I was not able to set each item per row even I have tried different flexDirection -options.
I was not able to set DataGrid column adjustable (in terms of width)

For (1), there is some sort of conflict between the Accordion and the Select. It might be easier to remove the Accordion.
For (2), it looks like the adjustable width feature is only available in the pro version of DataGrid
I tried making some changes that would make (1) not a problem anymore. Basically, I added a toolbar to the data grid that allows the users to choose the filters from there. By making the columns have the right types (e.g. "Change type" is a singleSelect, "createdAt" is a dateTime), the filtering is taken care of for us. The build-in toolbar also adds a couple other nice options, like hiding columns and exporting the data.
You can see my branch here: 117_changelog_gs. You'll need to use the more_grid_exports branch of jbrowse-components to get that branch to work. Here's what it looks like:


Add Dot Net, Git, Sass, Objective C

I will add the others which i have made issue for as well, but for now pls merge this.
Thanks.

@ericspring08 Done


how real_label can convert rgb mask image to one-channel id mask?

Hi, thanks for this wonderful work!
I would like to ask that, in demo.py,
    def read_label(self, label_name, squeeze_idx=None):
        label_path = os.path.join(self.label_root, self.seq_name, label_name)
        label = Image.open(label_path)
        label = np.array(label, dtype=np.uint8)
        if self.single_obj:
            label = (label > 0).astype(np.uint8)
        elif squeeze_idx is not None:
            squeezed_label = label * 0
            for idx in range(len(squeeze_idx)):
                obj_id = squeeze_idx[idx]
                if obj_id == 0:
                    continue
                mask = label == obj_id
                squeezed_label += (mask * idx).astype(np.uint8)
            label = squeezed_label
        return label

why the rgb mask goes through the codes below
label = Image.open(label_path)
label = np.array(label, dtype=np.uint8)

and can be converted to a one-channel id mask? How should I enocode a mask image so that I could achieve this effect? Thanks!

The mask files are not in rgb but are one-channel images, whose colors are from the attached palette information.

Ohh, I see, the mask is 'P' mode pillow image, thanks!


conda-forge-ci: Switch to use official robotology channel

As https://github.com/robotology/robotology-superbuild/pull/652 has been merged, we now have officially generated packages coming from the robotology-superbuild in the robotology anaconda channel, so we can switch to use that instead of the experimental and test-only robotology-staging.

I think we can skip the changelog as the change is not user-related, what do you think @S-Dafarra @GiulioRomualdi ?

skip the changelog as the change is not user-related, what do you think

No need to update the changelog :smiley:


CI: Fix running the unit tests on windows

When working on #76878 I noticed that the unit tests don't appear to run correctly on the windows editor leg.
The issue most likely is that the shell continued with (terminating) the script before the commands / tests were finished because the executable is normally not using the console subsystem.
~Draft because running the that build artifact locally fails the tests, but that is probably just the environment being wrong.~
The test run properly now and the output matches that of the macOS run (except that macOS has a few additional +[NSString stringWithUTF8String:]: NULL cString errors and colors)

CI should be fixed by #76885, will have to be rebased when it is merged

Thanks!

Cherry-picked for 4.0.4.


Better memory allocation

https://arxiv.org/pdf/2001.03288.pdf

Greedy by size impl from the paper: https://github.com/FL33TW00D/ratchet/blob/master/crates/ratchet-core/src/gpu/buffer_allocator/allocator.rs#L195


Failed to eval JavaScript modules - TypeError

Description
JavaScript TypeError when starting up Nakama 3.9.
When using exact same code below in 3.8 there are no errors.
An example of the code that appears to fail to Initialise is:
var __extends = undefined && undefined.__extends || function () {
  var extendStatics = function extendStatics(d, b) {
    extendStatics = Object.setPrototypeOf || {
      __proto__: []
    } instanceof Array && function (d, b) {
      d.__proto__ = b;
    } || function (d, b) {
      for (var p in b) {
        if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p];
      }
    };

    return extendStatics(d, b);
  };

  return function (d, b) {
    if (typeof b !== "function" && b !== null) throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
    extendStatics(d, b);

    function __() {
      this.constructor = d;
    }

    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
  };
}();

var Test = function () {
  function Test(name, data) {
    this.name = name;
    this.data = data;
  }

  return Test;
}();

var Extender = function (_super) {
  __extends(Extender, _super);

  function Extender(name) {
    return _super.call(this, name, "data") || this;
  }

  return Extender;
}(Test);

function InitModule(ctx, logger, nk, initializer) {
  logger.info("Hello World!");

}

!InitModule && InitModule.bind(null);

Steps to Reproduce

Use provided code as index.js.
Start Nakama

Expected Result
No error is thrown and results are returned by server.
Actual Result
{"level":"error","ts":"2021-11-30T14:14:03.199Z","caller":"server/runtime_javascript.go:1521","msg":"Failed to eval JavaScript modules.","error":"TypeError: Assignment to constant variable. at extendStatics (index.js:3:21(18))"}
{"level":"error","ts":"2021-11-30T14:14:03.199Z","caller":"server/runtime.go:597","msg":"Error initialising JavaScript runtime provider","error":"TypeError: Assignment to constant variable. at extendStatics (index.js:3:21(18))"}
{"level":"fatal","ts":"2021-11-30T14:14:03.199Z","caller":"v3/main.go:146","msg":"Failed initializing runtime modules","error":"TypeError: Assignment to constant variable. at extendStatics (index.js:3:21(18))"}

Your Environment

Nakama: 3.9.0
Database: PostgreSQL from Docker image postgres:12.2-alpine
Environment name and version: Docker image heroiclabs/nakama:3.9.0
Operating System and version: WSL2 on Windows 10

UPDATE:
This issue is still happening in v3.10.0.
Also, I identified the specific commit where this issue started taking place: de3ef8866ac97c7234f82ef739e3195bf8e67bc8

Thanks for the report @cwcb, could you please provide the non-transpiled code snipped as well?

@sesposito I think it is safe to close this.  I realised when I was getting the non-transpiled version of the code that we have a custom process that is run on the js before it is rolled up.  This custom process was what was causing the issue.  When transpiling normally no issue occurs. Thank you for looking into this though!


[bug] $connections_active huge number

Returning $connections_active in http call returns huge number (int64/long) instead of active connections. When server first starts it appears number is correct.
Expected behavior
Correct example: 1500.
Actual behavior
But instead getting following result:<PHONE_NUMBER>3709550135
Steps to reproduce the behavior
Server with few thousand http requests/active connections
nginx 1.13.12

The bug is fixed. Please fetch the latest code to test it.
Thank you for posting the issue.

Thank you!


Exported pages use the Obsidian paths for embedded resources instead of converting them to full file paths

I'm not sure if this should be flagged as a bug or a feature, in case it was not handled.
Describe the bug
In Obsidian, I usually refer to files not using their full path, but by just expressing their name even though they are not located on the same folder. In Obsidian this is legit and links/embeddings just work.
Let's say I have the vault organized this way:
- Topic
   ├──Attachments
   │  └── myfile.pdf
   └──Notes
       └── mynote: can embed the file just with ![myfile.pdf]

But when you export using this plugin, it assumes you expressed the full path. So if you try to host and bring up the result, you'll end up with incorrect references and failing to load other embedded resources
Environment
  Obsidian version: v1.5.3
  Installer version: v1.4.13
  Operating system: Windows 10 Pro 10.0.19045
  Login status: not logged in
  Insider build toggle: off
  Live preview: on
  Base theme: adapt to system
  Community theme: none
  Snippets enabled: 0
  Restricted mode: off
  Plugins installed: 1
  Plugins enabled: 1
    1: Webpage HTML Export v1.7.3

To Reproduce
Steps to reproduce the behavior:

Create the vault as described or download this sandboxed vault

Export as HTML the whole vault in multifile with the default settings (except for the web file name options, otherwise it will mess the names and the reference can't work, actually another problem by itself)

Use a simple web server in the root folder of the exported build (like python -m http.server) and navigate to a note file

Notice that it uses the literal path given by the source file, even thought it was not a full path to the file, but just its name (weird, it even fails to render even the text and title)

If you use the full path by editing the HTML by hand, it will work (almost) as expected

This should be a bug, as this is already handled and should work. I will look into it though and thanks for the details!

Can you please test out the new beta 1.8.1-0b and let me know if this fixes the issue? Please also let me know if you find any new issues. Thanks!

If you use the new "Online Web Server" export mode it fixes the issue, but I can still reproduce this error using "HTML documents" export option and the sandboxed vault I shared (even thought it renders the note title this time)
I also found some other problems in the meanwhile:

The export process even on medium-sized vaults is painfully slow in case single notes are long and there are a lot of embeddings
"Open after export" option on export popup doesn't work on Windows. An error instead will be provided at the end of the export saying that windows couldn't find the file with the path provided
There is some regression around Excalidraw, since some (simple) drawings get the exporting process stuck forever. This is hard to reproduce, sometimes it works and sometimes doesn't. However, the latter case is the most frequent if I do stress tests on my personal vaults.
I'm not sure if it's related to the problem 3, but sometimes happens that the exporting windows get completely white meanwhile the obsidian window gets completely black and gets both gets stuck like this.

Hi, can you instead make anew issue for each of these problems searching for duplicated first? More details would be helpful since I need to be able to reproduce a problem to fix it. (although I can reproduce 2. just fine) Thanks.

As for it not loading PDFs in HTMLDocuments mode, this is because PDFs cannot be loaded in locally opened files. This is not something that I can fix it's just a limitation of opening an html file using the file:// protocol. PDF embeds also aren't supported on mobile.

For the other issues I'll create them once I find the specific cause so they can always be reproduced.
This issue can be considered solved. Thank you for your hard work.


How could I install the swarm library with pip or conda?

With respect to the code in from swarm import SwarmCallback , how can I pip install the swarm library? Although I have searched everywhere for the link to install the library, I have not been able to find it.
Could you please solve my problem?

Swarm learning comes pre-installed in the containers.
Please see the Execute MNIST example section on how to run simple example using Swarm Learning.
Also you can check Adapting ML programs for Swarm Learning section on how to transform Keras or PyTorch based model to Swarm Learning ML program by making a few simple changes to the model training code.


Bug: Does not work on iPhone / IOS

name: Bug report
about: Controller does not connect on iPhone /  IOS
title: ''
labels: 'IOS,iPhone'
assignees: ''

Describe the bug
I could not find anything related to iPhone, so I was already a bit afraid.
When launching safari to the url, the windows PC does indicate that the client is connected. Connecting a Stadia controller through a usb->lightning connecter only seems to charge the device. Nothing happends afterwards.
Server is working, as connecting the controller to the mac, then to the webinterface works OK.
To Reproduce
Steps to reproduce the behavior:

Go to 'Server IP' on iPhone in Safari
Connect the controller

Expected behavior
It is expected to see controller connected
Desktop (please complete the following information):

OS: Windows 10
Browser Chrome

Smartphone (please complete the following information):

Device: iPhone 12 Mini
OS: iOS 14.
Browser Safari

Unfortunately, I don't have an iPhone to test it on however, can you try maybe checking https://gamepad-tester.com/ to see if your browser is able to detect the controller


Add collections interfaces to shared

@alexperovich,
Thanks for having already signed the Contribution License Agreement. Your agreement was validated by .NET Foundation. We will now review your pull request.
Thanks,
.NET Foundation Pull Request Bot


Which UDP/TCP Ports, for which Service and which directions are needed for Manage Servers, HCI and Clusters

Hello WAC Team,
I've currently in a POC with MAS HCI 20H2 and WAC. We need as Input for the Security Team a detailed Port overview for the communication between WAC, the Nodes and HCI Cluster. Also we need the direction information from WAC to Nodes/Cluster and from Nodes/HCI to WAC.
Best regards
Sebastian Romero @Fujitsu
[Enter feedback here]

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 40cb194b-0a55-714a-96ba-c28287e6e18c
Version Independent ID: 44a152a9-63b7-3d29-03c5-4af03950c1ff
Content: Manage Servers with Windows Admin Center
Content Source: WindowsServerDocs/manage/windows-admin-center/use/manage-servers.md
Product: windows-server
Technology: windows-admin-center
GitHub Login: @nwashburn-ms
Microsoft Alias: niwashbu

We hugely appreciate your contribution, feedback, and support to our technical documentation.
We’ve phased out GitHub Issues on this repository as the feedback mechanism for content and have replaced it with a new feedback system. For more information see, Content User Feedback. As part of this rollout, we are migrating your issue where our team will use your comments to improve the documentation experience. Unfortunately, this does mean you won't be able to access this issue after the migration is complete.
All issues will be migrated by Thursday 29th August 2024.
Once again, thank you for your valuable feedback, we hope you’ll continue to contribute using our new feedback system.


Debian package for bio-vcf

bio-vcf installs as a Ruby gem and runs as a binary. It will be published as a sibling to libvcf. It would be good to a have a Debian package. @mr-c do you mind initiating the process?

@pjotrp We're in a freeze right now, so no new packages will be accepted for a bit. You can file a "request for packaging" via email by following https://www.debian.org/devel/wnpp/#l2 (or via reportbug --email<EMAIL_ADDRESS>wnpp if you have access to a Debian system/container)

@pjotrp We're in a freeze right now, so no new packages will be accepted for a bit. You can file a "request for packaging" via email by following https://www.debian.org/devel/wnpp/#l2 (or via reportbug --email<EMAIL_ADDRESS>wnpp if you have access to a Debian system/container)

Submitted wnpp

Submitted wnpp


Inputs broken by commit which sets noautocmd

This commit https://github.com/MunifTanjim/nui.nvim/commit/4715f6092443f0b8fb9a3bcb0cfd03202bb03477
Led to a bug on my machine where inputs no longer work with my autocommands which worked previously.
It is a conflict with my plugin https://github.com/beauwilliams/focus.nvim
Here is what the input used to look like

Here is what it looks like now

I'm going to lock this package for now on the commit before the breaking change. Perhaps we can look into how this should be fixed to ensure compatibility, be it on my end or nui

Can you give me a reproducible example?

Absolutely, here is the code I am using to create and manage the Input instance
https://github.com/beauwilliams/Dotfiles/blob/master/Vim/nvim/lua/plugins/_my_terminal.lua
I can solve the issue by disabling focus.nvim plugin, or by checking out to before the commit mentioned above.
I'll have do dig into the importantce of noautocmd and why it was added. It's really a tight rope walk with nvim at the moment because window management is a mishmash of autocmds relying on filetypes/buftypes which are themselves set with autocmds at the moment essentially 😅

I ran it with a clean setup with focus.nvim and nui.nvim installed. And then ran :MyTermRunTaskCommand from neovim. Couldn't reproduce it.
It would be really helpful if you could share a minimal reproducible example.

Interesting, it must be something else then, let me try to make a reproducible example

Closing since this is not reproducible.


chore: Clarify format for Expire, should we include milliseconds

The way I've read the spec is that fractions are not allowed and IIRC python-tuf API strips them out when expiry is set and does not accept fractions when deserializing JSON (but I could be wrong on the last bit)

Thanks! Apparently we have to update the way we format and store this then 👍
I checked root-signing and I see that at some point go-tuf was generating metadata like that -
https://github.com/sigstore/root-signing/blob/ca9c5644c3217886b543265bacea774351bc0bde/repository/repository/1.root.json#L27C3-L27C3
but eventually it switched to -
https://github.com/sigstore/root-signing/blob/ca9c5644c3217886b543265bacea774351bc0bde/repository/repository/root.json#L6.
I'll update the issue's title so we can track this fix here 👍

closing in favour of https://github.com/theupdateframework/go-tuf/issues/596


addon manager lease

Signed-off-by: liuwei<EMAIL_ADDRESS>

refer to https://github.com/open-cluster-management/backlog/issues/10141

/assign @qiujian16

/assign @elgnay

/assign @deads2k

/retest

This looks like a good shape overall.  I have a few minor comments that I don't think are contentious.  I'm going to approve now and leave the lgtm with @qiujian16 after my comments are addressed.
/approve

/lgtm


Scout launcher is visible through portal even when not equiped.

fixed, but poorly. permanently changes scout layer


[1.11] Update docs for local env secret store

Docs need to be updated for the new metadata option "prefix".
See: https://github.com/dapr/components-contrib/pull/2761

Will be fixed by #3431


Use tooltipster on an image in a html tooltip

Hi,
Is it possible to use tooltipster on an html tooltip that is already set with tooltipster?
I have some images in the html tooltip that also have tooltips I want to set to html.
Greetings,
Kees van Spelde

Hi, yes it's possible just initialize the second tooltip after the first tooltip has opened.

How do I do this?
What I have is this:

An image on a page the "title" is set to the content of an html table with images in it.
The table also has images with title tags that are set to html tables. I also want to show this table as an html tooltip.

I already tried something like this but that doesn't seem to work.
        $(".htmltooltip").tooltipster({
            theme: "tooltipster-shadow",
            delay: 25,
            contentAsHTML: true,
            interactive: true,
            functionReady: function () {
                this.tooltipster({
                    delay: 25,
                    theme: "tooltipster-shadow",
                    contentAsHTML: true,
                    interactive: true
                });
            }
        });

Check how functionReady works in the documentation. You can't use this.

I added a picture to my previous question... it shows you want I'm trying to do.

Nevermind... found the solution :-).. already tried that before but then with the $ sign.. but for some reason that can't be used from the functionReady event... jQuery worked... thanks anyways
        $(".htmltooltip").tooltipster({
            theme: "tooltipster-shadow",
            delay: 25,
            contentAsHTML: true,
            interactive: true,
            functionReady: function () {
                jQuery(".htmltooltip").tooltipster({
                    delay: 25,
                    theme: "tooltipster-shadow",
                    contentAsHTML: true,
                    interactive: true
                });
            }
        });

I hinted at a better solution if you read the documentation, but as you wish :)

ok... I think I didn't get the hint... sorry

"Check how functionReady works in the documentation" => it gets 2 parameters, use the second one.


Link to docker docs on how to start the service

Followup of #1501.
Many users that never used docker before could get stuck because they forget to start the docker service.
Therefore I think it's better to add in README.md an appropriate link to the docker documentation where it says to ensure that the docker service is running.
Unfortunately I can't do it myself because I don't know where to link to (I never used docker before), so I'm opening this issue.

Hmm, I'm not sure if there's docs on https://docs.docker.com/; this is pretty specific to how you've installed docker. On most linux systems it will be sudo systemctl start docker, but that won't work on Mac/Windows/any system not using systemd.

I'm going to close this as unactionable; if you have trouble starting docker, feel free to join the discord so I or another member of the team can help you out.


Pandoc version as parameter

Bravo(!) for designing these rules to supply pandoc; many Bazel rules out there make it the user's problem to have the underlying binaries in place on all build machines, creating opportunity for version skew and other ills.
But... the downside is that, for example here in this rule, it can be tough to keep up with versions of the underlying tool. It appears that bazel-pandoc is currently hardcoded to retrieve and use only Pandoc v2.3.1. Pandoc 2.8 just shipped, and there have been various other versions since 2.3.1.
Therefore, a feature request:

Make pandoc() accept a version parameter
Update pandoc() to know about recent versions

A downside of this approach: each new version of Pandoc requires a new bazel-pandoc. It is possible to work around that by allowing the user to supply a replacement mapping (from platform to URL+hash) so that a newer version of Pandoc can be used immediately with minor inconvenience. Such a mechanism can also be used by folks who have a requirement to fetch all tools from a blessed internal repository.

I believe we should just use the latest and greatest version of pandoc. So this only requires us to update repositories.bzl.

And pandoc is based on a toolchain. Assuming everything is set up correctly, you can use the version of your choice by changing the toolchain.


Code actions  "Move to file" and "Move to new file" are shown everywhere

open this file
select data
select light bulb
:bug: there is entries for "Move to file" and "Move to new file"

Some ideas:

Only show the lightbulb (implicit code action) when on declarations
Maybe still keep showing these actions if refactorings are explicitly requested
In the refactoring label, show the name of what is going to be moved. Right now it makes is seem like the loop itself will get moved

Only show the lightbulb (implicit code action) when on declarations

💯 on that - showing the code action further down is noise and lowers my trust in light bulb being helpful (and not ad-space)

HI @sandersn, I would like to have a go at this PR. Could I have a pointer to place in the code where the change should be, or discuss this issue with one of your team members in a meeting? We are currently looking into displaying code actions in the light-bulb menu in VS Code on empty lines too, and currently we are seeing the Move to file and Move to new file actions appearing very often. I had initially prepared a PR to patch this issue on the VS Code side, but we think ideally this fix should come directly from TypeScript

@aiday-mar I believe @navya9singh and @andrewbranch have worked the most on Move To File.


Updating practices for maintainers

Description
Updating practices for maintainers
Check List

[X] Commits are signed per the DCO using --signoff

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

Codecov Report

Merging #1611 (6f68b95) into main (b34f762) will decrease coverage by 0.14%.
The diff coverage is n/a.

@@             Coverage Diff              @@
##               main    #1611      +/-   ##
============================================
- Coverage     64.67%   64.53%   -0.15%
+ Complexity     3220     3214       -6
============================================
  Files           247      247
  Lines         17351    17350       -1
  Branches       3082     3073       -9
============================================
- Hits          11222    11196      -26
- Misses         4582     4598      +16
- Partials       1547     1556       +9

Impacted Files
Coverage Δ

...t/keybyoidc/AuthenticatorUnavailableException.java
0.00% <0.00%> (-20.00%)
:arrow_down:

...ava/com/amazon/dlic/auth/ldap2/MakeJava9Happy.java
39.13% <0.00%> (-4.35%)
:arrow_down:

...urity/ssl/transport/SecuritySSLNettyTransport.java
69.14% <0.00%> (-4.26%)
:arrow_down:

.../auth/http/jwt/keybyoidc/SelfRefreshingKeySet.java
59.85% <0.00%> (-3.53%)
:arrow_down:

...ic/auth/http/jwt/AbstractHTTPJwtAuthenticator.java
55.81% <0.00%> (-3.49%)
:arrow_down:

...earch/security/ssl/util/SSLConnectionTestUtil.java
93.18% <0.00%> (-2.28%)
:arrow_down:

.../org/opensearch/security/support/ConfigHelper.java
80.39% <0.00%> (-1.97%)
:arrow_down:

...com/amazon/dlic/auth/ldap2/PrivilegedProvider.java
49.18% <0.00%> (-1.64%)
:arrow_down:

.../org/opensearch/security/auth/BackendRegistry.java
58.85% <0.00%> (-0.53%)
:arrow_down:

...ic/auth/ldap/backend/LDAPAuthorizationBackend.java
57.57% <0.00%> (-0.38%)
:arrow_down:

... and 2 more

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 b34f762...6f68b95. Read the comment docs.


Lazy loading feature added along with suspense loading

This pull request adds a lazy loading feature to the project. This feature will allow users to load data only when they need it, which can improve performance and reduce bandwidth usage. The lazy loading feature is implemented using the div with loading... you can also put a custom loader with custom styling for better user experience which will allow the data to be loaded in the background while the user is still interacting with the page. This can provide a better user experience, as the user does not have to wait for the data to load before they can start using the page.

Please resolve the conflicts.


Questions related to account verification via email

My MembershipReboot configuration looks like this:
<membershipReboot requireAccountVerification="true" ... />
The verification email I get following registration has a link to:
http://localhost/UserAccount/ChangeEmail/Confirm/X6mZAcBdC0q5MdBXBPVQQ
First question is, where is the email content (text, formatting) specified?
Second question is, why is the link going to the ChangeEmailController?
Final question is, when I click the link I'm asked to reenter my password in order to verify the user.  Where can I direct the user such that I successfully verify based on the hash alone?

You should really use your own IEventHandler<T> rather than the built-in one. The built-in one is mainly for testing/dev sceanrios.

I'm reading https://github.com/brockallen/BrockAllen.MembershipReboot/wiki/Email-Configuration and I see the section about configuring an AspNetApplicationInformation object to inform the EmailMessageFormatter of the URLs.  Per https://github.com/brockallen/BrockAllen.MembershipReboot/blob/01a256b3de9979b0bc5b32441d673f22c54d40d4/src/BrockAllen.MembershipReboot.WebHost/AspNetApplicationInformation.cs the only configurable URLs are:

Login url
Confirm change email url
Cancel verification url
Confirm password reset url

I guess the account verification operation just uses the confirm change email url (without actually doing an email address change) and if I want to implement a new, dedicated account verification url it's up to me?  Or is there a dedicated endpoint for that that I'm not seeing in any of the existing controllers?

Hi Brock, could I bug you here....?   Thanks

MR uses an event bus architecture for raising notification when stuff happens in MR. Stuff could be like "a user logged in", and other stuff could be "an account was created and we have a email confirmation code that can be sent". MR then provides a default implementation (handler) for these and uses a message formatter object and a message delivery object to format and send the messages. The default formatter is what then uses the "AppInfo" to know what URLs to embed into the emails. And within that, yes, the "Confirm change email url" is used for account creation and changing emails, because it's the same operation within MR (although perhaps different within your branding). You can always read the account and know if it's a new account or not -- there's an extension method for that.
To edit the email content you could either: 1) replace the built in message formatter, or 2) not use any of the default messaging architecture and just implement the IEventHandler<AccountCreatedEvent> yourself and do anything you need/want. You'll have much more control if you choose the latter.


Is there a performance pressure test report between rocketmq and other mq. For example, Kafka

@TsingLiang It is difficult to give a more objective performance evaluation, because it involves different scenarios and different configurations, so there are two suggestions, one is to evaluate whether rocketmq meets the requirements for your own scenario, and secondly, if you have to do one for comparison, you can do some tests according to your scenarios. Tools are provided in OpenMessaging.


CR002: Notifications page not working in bo locale

steps to reproduce
clicking on the notification icon in the header of Pecha.org leads to a blank page, which when refreshed, returns to previous page.

Still not working in dev or staging


Switch version to v1

We've done a soft release of v1 and will begin using it as there's no material differences to the beta version.

@duffelhq/python-maintainers: I need a review for this please. 🙏🏻

Thank you @cianyleow!


Installing dxvk 0.70 over 0.65, library override problem

When installing dxvk 0.70 over 0.65, you need to manually change libraries to native in winecfg.  Libraries are listed twice, first ones are marked with * and are set to native. Second ones are set to builtin and wine is using those overrides by default.
System information

GPU: RX560
Driver: Oibaf ppa Mesa git
Wine version:  3.12 staging
DXVK version:  0.70

Quoting from the release notes:
When using an older version of DXVK, it may be necessary to uninstall it first using setup_dxvk.sh --reset

@doitsujin:
It's setup_dxvk.sh reset, not setup_dxvk.sh --reset.
It's wrong on the release notes, too.

Fixed.

"When using an older version of DXVK, it may be necessary to uninstall it first using setup_dxvk.sh reset"
I did that, it does not remove old overrides.


Added some global components

Signed-off-by: sayantan1413<EMAIL_ADDRESS>Description
This PR fixes #
Notes for Reviewers
Signed commits

[x] Yes, I signed my commits.

Thank you for these updates @sayantan1413  😄

@sayantan1413 good work. Will you resolve each individual feedback when you consider that they are addressed? There are a couple merge conflicts to look after.


muiPaginationProps does not include rowsPerPage

material-react-table version
v2.13.0
react & react-dom versions
v16.8.0
Describe the bug and the steps to reproduce it
I am trying to set the number of rows per page via a prop and am unable to set rowsPerPage on muiPaginationProps even though MUI Table Pagination docs show rowsPerPage.  I can set rowsPerPageOptions but that's not what I'm trying to do.

Minimal, Reproducible Example - (Optional, but Recommended)
	muiPaginationProps={{
		rowsPerPageOptions: [...]
		rowsPerPage: 5 // type error
	}}

Screenshots or Videos (Optional)
No response
Do you intend to try to help solve this bug with your own PR?
None
Terms

[X] I understand that if my bug cannot be reliably reproduced in a debuggable environment, it will probably not be fixed and this issue may even be closed.

This is by design to force you to use the proper way through state


Repository title grammar error

What are you trying to achieve?
Minor grammar correction in the repo's title.
Should be:
Modern Era Acceptance Testing Framework for NodeJS

What do you get instead?
It is:
Modern Era Aceptance Testing Framework for NodeJS

(missing a c in Acceptance)
Details
n/a

@DavertMik Negligible change to the repo, while you're online 😬
Cheers!

Issue resolved 👍

Thanks!


Suggestion to add Database for storing favourties

Could we extend this project to full stack by implementing a Database  for storing favourite books . We could further extend it by implementing user DB and implementing user accounts .

@AKSHATH99 Yes do add. Star ⭐ the repo and follow me to start.

Thank you . Could you initialize a backend folder with necessary folders and dependencies and connect   to a db ? . I could then work on creating models and controllers

@AKSHATH99 I drop this issue, as I have to deploy the backend. Feel free to come up with new issue

Cool . If you need help deploying backend , i could help though

@AKSHATH99 I will add. Do let you know.


gtk*: look for config files in /etc/

Description of changes
This is required for gtk to read the config file from /etc/gtk-X.0/settings.ini. Otherwise it would look into its nix store entry.

Things done

Built on platform(s)

[ ] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
23.05 Release Notes (or backporting 22.11 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module
[ ] (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes

[ ] Fits CONTRIBUTING.md.

This may be obvious to GTK folks, but why is this change something we want? (Also: there are some changes here that probably can be split into different commits, or removed entirely, like the version interpolation.)

This may be obvious to GTK folks, but why is this change something we want?
To manage system-wide gtk configuration declaratively by environment.etc. Potentialy it would be nice to write a module for this in the Future

And was this tested at all, even if on master?
This was tested on the nixos-unstable branch and then rebased onto master. Source: I was sitting next to the author when he did.

To manage system-wide gtk configuration declaratively by environment.etc. Potentialy it would be nice to write a module for this in the Future

If this helps declarative config then great I'd love that, but I don't know GTK internals very well and I'm not entirely clear on what this lets you configure that you couldn't before?
(I already manage a few things like GTK theme settings in /etc/gtk-3.0/settings.ini, for example)

This may be obvious to GTK folks, but why is this change something we want?

Added the motivation to the PR body. Forgot that first. Also @laalsaas already answered it, too.

removed entirely, like the version interpolation.

Thats the only one. To nativeBuildInputs was autoreconfHook added because autoconf triggered it automatically and I didn't want to add every tool individually.

And was this tested at all, even if on master?

It was tested with one gtk application for each version and by disabling the bell on errors. With this PR we have some silence when pressing backspace in an empty input.

I'm not entirely clear on what this lets you configure that you couldn't before?

Before the config file was read from the nix store path and /etc/gtk* was never read.

(I already manage a few things like GTK theme settings in /etc/gtk-3.0/settings.ini, for example)

That didn't work at least for the bell on error setting.

103 commits, bad push?


MM-12233: local user mention results

Summary
Populate profilesInChannel with posts received for the channel. As noted in the comments, this is not proof that the user is still in the channel: they may have left. However, if we are viewing a post as such, they are likely to still be "in context", and are useful to mention as such.
This is currently a work in progress, and not necessarily ready for review.
Ticket Link
https://mattermost.atlassian.net/browse/MM-12233
Checklist

[x] Ran make check-style to check for style errors (required for all pull requests)
[x] Ran make test to ensure unit tests passed
[ ] Ran make flow to ensure type checking passed
[x] Added or updated unit tests (required for all new features)
[ ] All new/modified APIs include changes to the drivers

Test Information
This PR was tested on: Chrome, OSX Mojave

@jasonblais, I've marked this as PM review specifically to get your feedback on the choice to populate profiles in channel using post data, but recognizing the limitation that the user might have left/been kicked from the channel above. This PR is an addition to https://github.com/mattermost/mattermost-webapp/pull/1974, allowing for results on first load vs. after the first at mention query, but isn't strictly required.
@enahum, @sudheerDev, marking this for dev review since it's ready as such.

After some discussion, we agreed that pre-flighting the data here causes more problems than it solves, since other parts of the UI rely on this reducer. Closing in favour of the base webapp changes.


Update jsoniter-scala-core, ... to 2.6.4

Updates

com.github.plokhotnyuk.jsoniter-scala:jsoniter-scala-core
com.github.plokhotnyuk.jsoniter-scala:jsoniter-scala-macros

from 2.6.0 to 2.6.4.
GitHub Release Notes - Version Diff
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Configure Scala Steward for your repository with a .scala-steward.conf file.
Have a fantastic day writing Scala!

Ignore future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "com.github.plokhotnyuk.jsoniter-scala" } ]

labels: library-update, semver-patch

Codecov Report

Merging #190 (0978d05) into master (e31fc88) will not change coverage.
The diff coverage is n/a.

@@          Coverage Diff           @@
##           master    #190   +/-   ##
======================================
  Coverage    0.00%   0.00%
======================================
  Files          24      24
  Lines         234     234
  Branches        9       9
======================================
  Misses        234     234

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 e31fc88...0978d05. Read the comment docs.


circleci: Use aliases in common steps.

Testing Plan:
GIFs or Screenshots:

I squashed the first two commits and merged them; I'll let you deal with the merge commits in the rest.

Rebased.

I merged the first commit; for the second, I'm a little skeptical -- I think actually we should be running the cache-cleaning code in CircleCI.  We can test by listing the directories in a build, but I don't so why we wouldn't have an ever-increasing list of venvs in our caches...


Allow JSON validation of JSON data already loaded using json.load()

Initial Checks

[X] I have searched Google & GitHub for similar requests and couldn't find anything
[X] I have read and followed the docs and still think this feature is missing

Description
I searched but didn't find where/how this would be possible already, especially in a simple straightforward way.
Suppose I have a JSON string, then I can do MyModel.model_validate_json(json_str, strict=True) to validate the JSON using 'looser' JSON rules to get an instance of MyModel (as per here). How can I do exactly the same if I only have access to json.loads(json_str)?
Calling MyModel.model_validate() uses different (Python) validation rules, and MyModel.model_validate_json() only accepts the raw string. Converting the loaded JSON data back to string just to validate it again seems backwards. The feature request would be to have a simple top-level way of passing already-loaded JSON data (Python objects) through JSON-style validation rules.
Affected Components

[ ] Compatibility between releases
[X] Data validation/parsing
[ ] Data serialization - .model_dump() and .model_dump_json()
[ ] JSON Schema
[ ] Dataclasses
[ ] Model Config
[ ] Field Types - adding or changing a particular data type
[ ] Function validation decorator
[ ] Generic Models
[ ] Other Model behaviour - model_construct(), pickling, private attributes, ORM mode
[ ] Plugins and integration with other tools - mypy, FastAPI, python-devtools, Hypothesis, VS Code, PyCharm, etc.

Well it's close, but not really the right thing because then every key and value must be a string.
>>> json_str = '{"id": 123, "name": "James", "signup_ts": "2024-04-01T12:00:00"}'
>>> User.model_validate_json(json_str)
User(id=123, name='James', signup_ts=datetime.datetime(2024, 4, 1, 12, 0))
>>> json_data = json.loads(json_str)
>>> User.model_validate_strings(json_data)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File ".../lib/python3.9/site-packages/pydantic/main.py", line 619, in model_validate_strings
    return cls.__pydantic_validator__.validate_strings(obj, strict=strict, context=context)
pydantic_core._pydantic_core.ValidationError: 1 validation error for User
id
  Input should be a valid string [type=string_type, input_value=123, input_type=int]

From the help link you provided (thanks):

Depending on the types and model configs involved, model_validate and model_validate_json may have different validation behavior. If you have data coming from a non-JSON source, but want the same validation behavior and errors you'd get from model_validate_json, our recommendation for now is to use either use model_validate_json(json.dumps(data)), or use model_validate_strings if the data takes the form of a (potentially nested) dictionary with string keys and values.

The fact that model_validate_json(json.dumps(data)) is being recommended in the official help suggests to me there is no intended way currently of going straight from the JSON data in Python form to a JSON-style-validated BaseModel?

Hmm @Viicos, I wonder if it's make sense to have a validate_python(xxx, mode='json') pattern, like we do for model_dump?
Probably introduces some hard to maintain branching in pydantic-core...


Can I add initial text to ComposerActivity

I wanted to add initial text to ComposerActivity which was removed lately. Can I edit the twitter library and use it in my app or is it not allowed?

Our research indicates Tweets with user generated text receive much higher engagement than Tweets containing pre-canned text. I will bring your feedback to the team, but I don't think we will be revisiting this decision in the near future. One alternative we have discussed is adding a custom prompt. Something like "Say something about you high score". I would be happy to accept a PR for a custom prompt. Alternately, you can use the composer in the Twitter for Android app. See TweetComposer.Builder class for launching composer activity.

I truly appreciate you reply. I just want to clear that can I add the custom prompt support by myself and use the edited library in my app or can I create a PR for custom prompt and you will accept it later? Or is that I cannot do anything?

Up to you. You probably don't want to maintain a fork of Twitter Kit. We would appreciate your contribution back to the community. If you decide to create a PR it will be reviewed by the team, merged into our internal repo, and eventually released.


Add builds for windows

Motivation:
Let's also build on windows during PR validation
Modifications:
Add build on windows during PR
Result:
Validate that all also pass on windows

I merged this one and we can investigate as a followup @hyperxpro @slandelle


I installed polars using the command “conda install polars”, but upon checking with conda list, I found that it was from the pypi channel.

I have runned:
conda config --add channels conda-forge
conda config --set channel_priority strict

The command  didn't work too:
conda install conda-forge::polars=1.8.1
Then runned :
conda list polars
the result is:
 #Name                    Version                   Build  Channel
polars                    1.14.0                   pypi_0    pypi

Operating System: 64-bit Windows 10
Python Version: 3.12.7

I updated polars to 1.16,it worked correctly.
Name    Version  Build            Channel
polars  1.16.0   py312ha0f2741_0  conda-forge


Bb l cmask

Create a mask using the NLCD dataset.
Currently masking classes: 11, 12, 90, 95 (water, perennial ice/snow, woody wetlands, herbaceous wetlands).
You must have this downloaded.
To create a mask using ARIA products you've already extracted (e.g. via ariaExtract.py or ariaTSsetup.py) run the ariaNLCDmask.py directly. See instructions with ariaNLCDmask.py -h
Alternatively, run ariaExtract.py or ariaTSsetup.py with -m path/NLCD_2016_Land_Cover_L48_20190424.img to create the mask on the fly.
Finally, you can run prep_aria.py --water-mask PATH where PATH is the file produced by ariaNLCDmask.py
Minimally tested, and takes a bit for large bounding boxes (~30 minutes for a whole track).

Sounds like this could be a big help in areas with wetlands that have some coherence but wild phase variations due to water level changes. I am not working on that kind of area at the moment, but I have seen it before. The high coherence but large phase variations is even worse at L-band.

@bbuzz31 do you think maybe in light of these proposed changes it would be more appropriate to just move the entire "prep_mask" function to a separate script and have a separate script dedicated to just generating the masks? You can still keep the "NLCDMasker" meant to leverage the NLCD dataset. You think this may be straightforward to implement for this PR, or more complicated?

This has been moved to https://github.com/aria-tools/ARIA-tools/pull/169


fontello.com not working in IE11

I worked under bug issue on my site using fontello and found that fontello.com not working in IE11 sometimes. Reproduced on win7

and win12 (server)

IE last updated, no plugins

Looks like custom fonts disable in settings. I don't have IE now to check. But, honestly, nobody cares much about it if generated fonts are ok in IE.

close - timed out / nobody cares


Update utils.py

corrected indents and hyphens

OK. It is a C++ Style.
I just wanted to show my style. If these changes do not comply with the PEP-8 standard, then you can refuse them

Thanks for the interest! FastAPI uses Black for formatting, and pre-commit to enforce it. In fact, it fixes the format and commits on top of PRs in CI, that's why you see a commit on top of yours and why it seems the PR has no changes.
As format is already handled, I'll close this PR now. But thanks for the interest! :coffee:


Add ability to remove network

User tried to delete the newly added network but noticed the delete(symbol) is missing from all of the network end

I'm closing this out as a duplicate of https://github.com/hirosystems/stacks-wallet-web/issues/1716


set cindent

Hey this is just a thought, but it might be worth trying for a bit.
I was getting annoyed at having to << on new lines when I make matched brackets, this fixes that amongst other things. I think zig might be similar enough to C to make this a win, but you should give it a try for a bit to see if it results in any weird behavior.
see :help cindent and :help C-indenting for details.

I'm gonna revert this. It does a couple of unwanted annoying things, for example unindenting all the way when you type : as well as incorrectly indenting when you newline after =>.

That doesn't surprise me tbh.
At some point I may get around to properly implementing the syntax rules in this plugin but it's low priority.


Disable kube Prompt

Anyone know Where is this come from ? I want to remove it ...
[kube(n/a) git(e465b3b) branch(intl-1150)]

What plugins and theme are you using?

@mcornella It's not oh my zsh 's issue.


Increase processor concurrency

Processing of about 150 simulations works with no/limited errors. But processing is very slow. I believe this is because each dispatch service worker only works on 1 simulation at a time, even though the vast majority of the time is waiting for network responses. Using a higher concurrency limit should speed things up quite a bit.

Seems like a reasonable plan. Does this mean increase the number of replicas?

The queue has an option for how many jobs it will process at once. This by default is 1. The number of jobs x number of replicas gives the total throughput. We can probably significantly increase the number of jobs since the bottleneck here would be CPU power, which we have a lot to spare. Most of the work is network calls which are async. This option is in the code itself.

Got it. Sounds like our total throughput will be much higher than end of last year! End of last year, each run was relatively quick, but there was a big bottleneck at submission such that the total throughout was actually low.

Updating the concurrency to 10 drastically sped up processing when running all example (32 runs) at a time.  Testing with 150 or so at a time is slower, but this is hard to separate from the issues with data service.
Running the submit script took  3m24s

I would imagine that 150 might start to overload the data service, resulting in processing slowing down.
Is hsload still in the Sbatch job, or in post-processing?

Done in #idempotent


Add odom mode

This is refactoring version of https://github.com/iory/riberry/pull/85
This PR integrates the odom mode program, which is now selectable thanks to the changes introduced in #93.
Additionally, the battery status mode has been updated to display graphical output, as implemented in #89.
This PR incorporates the odom mode contributions added by @HarukiKozukapenguin.
@HarukiKozukapenguin
Try flashing the firmware and then execute the following command on the Jetson:
roslaunch riberry_startup aerial_robot.launch i2c_device:=/dev/i2c-8 ns:=<your namespace>

@iory

Try flashing the firmware and then execute the following command on the Jetson:
It works except DisplayBatteryGraphimode due to the difference of the circuit board.

Thank you for your help.


Update IMvcBuilderExtensions.cs

In response we sometimes have null value for navigation property (e.g. role) like:
{
	"id": 1,
	"firstName": "Veronica",
	"lastName": "Fear",
	"dateOfBirth": "1946-01-23T21:01:40",
	"userRoles": [
		{
			"id": 1,
			"userId": 1,
			"roleId": 4,
			"role": null
		}
	]
}

and IMHO it is unnecessarily to display null value to user.

Thanks! I also added an option in dc19f7a to modify the default value.

Great! Thanks!


Alert specs

Purpose or Intent
When putting specs together around alerts, I noticed that I was creating helper methods to do something as simple as creating an alert and alert profile.
So I changed the alert and alert profile (alert_set) factories to be easier to work with

👍 Nice change


Backport "Port coverage filter options for packages and files" to LTS

Backports #19727 to the LTS branch.
PR submitted by the release tooling.
[skip ci]

No regressions detected in the community build up to lts-19080.
Reference


Deadlock in DeviceContext.lock

Please check all of the platforms you are having the issue on (if platform is not listed, it is not supported)

[] iOS
[X] Android
[] tvOS
[] macOS
[] .NET Standard
UWP IS NOT SUPPORTED DURING THE BETA PERIOD - ONLY PRs ARE WELCOME FOR NOW

Version of OS(s) listed above with issue
4.4
Version of Library
5.3 & master branch
Expected Behaviour
Lock should not lock it's own thread (ie, it should be re-entrant safe for a single thread).
Actual Behavior
A single thread can enter lock 2x, causing it to lock waiting for itself
A condensed callstack is as below.
>	0xE in Plugin.BluetoothLE.Internals.GattCallbacks.OnCharacteristicRead at C:\src\tadevelopment\baby_monitor2\orrinityapp\bluetoothle\Plugin.BluetoothLE.Android\Internals\GattCallbacks.cs:12,16	C#	Symbols loaded.
>	0x23 in Plugin.BluetoothLE.Internals.DeviceContext.<>c__DisplayClass12_0<Plugin.BluetoothLE. at C:\src\tadevelopment\baby_monitor2\orrinityapp\bluetoothle\Plugin.BluetoothLE.Android\Internals\DeviceContext.cs:36,13	C#	Symbols loaded.
...
 	0xBB in MetaWear.NetStandard.BLEBridge.ReadCharacteristicAsync at C:\src\tadevelopment\baby_monitor2\orrinityapp\MetaWear-SDK-CSharp\MetaWear.NetStandard\MetaWear.NetStandard\BLEBridge.cs:115,17	C#	Symbols loaded.
 	0x33 in System.Runtime.CompilerServices.AsyncTaskMethodBuilder<byte[]>.Start<MetaWear.NetStandard.BLEBridge.<ReadCharacteristicAsync>d__14>	C#	Annotated Frame
 	0x31 in MetaWear.NetStandard.BLEBridge.ReadCharacteristicAsync	C#	Annotated Frame
 	0x3D8 in MbientLab.MetaWear.Impl.MetaWearBoard.InitializeAsync at C:\src\tadevelopment\baby_monitor2\orrinityapp\MetaWear-SDK-CSharp\MetaWear.Impl\MetaWearBoard.cs:744,17	C#	Symbols loaded.
 	0x6 in System.Runtime.CompilerServices.AsyncMethodBuilderCore.MoveNextRunner.InvokeMoveNext	C#	Annotated Frame
...
 	0x170 in MetaWear.NetStandard.BLEBridge.ReadCharacteristicAsync at C:\src\tadevelopment\baby_monitor2\orrinityapp\MetaWear-SDK-CSharp\MetaWear.NetStandard\MetaWear.NetStandard\BLEBridge.cs:119,9	C#	Symbols loaded.
 	0x6 in System.Runtime.CompilerServices.AsyncMethodBuilderCore.MoveNextRunner.InvokeMoveNext	C#	Annotated Frame
 	0x73 in System.Threading.ExecutionContext.RunInternal	C#	Annotated Frame
 	0x4 in System.Threading.ExecutionContext.Run	C#	Annotated Frame
 	0x32 in System.Runtime.CompilerServices.AsyncMethodBuilderCore.MoveNextRunner.Run	C#	Annotated Frame

...
 	0xA in Plugin.BluetoothLE.Extensions.Respond<Plugin.BluetoothLE.CharacteristicResult> at C:\src\tadevelopment\baby_monitor2\orrinityapp\bluetoothle\Plugin.BluetoothLE.Abstractions\Extensions_Rx.cs:17,13	C#	Symbols loaded.
>	0x6F in Plugin.BluetoothLE.GattCharacteristic. at C:\src\tadevelopment\baby_monitor2\orrinityapp\bluetoothle\Plugin.BluetoothLE.Android\GattCharacteristic.cs:97,25	C#	Symbols loaded.

>	0xE in Plugin.BluetoothLE.Internals.GattCallbacks.OnCharacteristicRead at C:\src\tadevelopment\baby_monitor2\orrinityapp\bluetoothle\Plugin.BluetoothLE.Android\Internals\GattCallbacks.cs:12,16	C#	Symbols loaded.

Note that this is also mostly likely due to some issues in my own usage of await.  Note the call to MetaWearBoard.InitializeAsync in the middle there.  It seems that while awaiting a characteristic read, I return to executing the initialization routine.  More debugging to come.
I thought I would log this issue anyway, because an earlier version of the library worked fine, and it seems strange that the deadlock can happen (even given potential issues in my async usage).
Code of Conduct

No Library Update Requests
No Timeline Requests
Please read through the documentation and FAQs
Please be respectful of my time. I put a lot of effort into my libraries.  I try to support the issue requests within a day.  I'm not psychic, so please take the time to fill out the above form as complete as possible

Please include a sample or unit test.  I need to see why others are having this problem

I'll see if I can.  It's a pretty involved project.  I don't know if I could reproduce this in an isolated case, as well as it depends on some custom hardware (metawearC).
I'll continue digging to see if I can tease apart the root cause

Ok, so the cause is actually pretty straight-forward in my case.  It seems the return from the Context.lock function is not getting executed, thus never releasing the AutoResetEvent
The code calling the fn is:
    public async Task<byte[]> ReadCharacteristicAsync(Tuple<Guid, Guid> gattChar)
    {
        var ch = await GetGattCharacteristic(gattChar);
        if (ch != null)
        {
            var res = await ch.Read();
            return res.Data;
        }
        return new byte[0];
    }

If I call ReadCharacteristicAsync twice in a row, it deadlocks.
I'm not awfully familiar with reactive programming (in fact, this library is the entirety of my experience).  Any idea why the "await" does not trigger the execution of the returned lamda from "lock"?

I don't believe the problem is actually a deadlock.  I believe the problem is that android is tossing an error out from the backend.  I'm adding a bunch of error checks in v6 to bring other failures out to the surface

seems likely, but the value we read from the characteristic is consistent, so the read succeeds.  I also don't see anything in the device log to indicate an error.
This is quite an old phone (4.4.2, I think).  Not sure if that affects anything

It is easy to overwhelm the BLE stack on android.  The lock is an attempt to prevent that.  You can play with CrossBleAdapter.AndroidOperationPause = TimeSpan.FromMilliseconds(250);
I default it to 100ms at the moment.  You can also try leaving a gap after each read
await Task.Delay(250);

Ok, so after a bit more digging: does this make sense?
We call Ch.read() =>
...
in Android.GattCharacteristic.Read, we first lock then run the following lines:
... (create an observable for the following)
this.Value = args.Characteristic.GetValue();
                    var result = new CharacteristicResult(this, CharacteristicEvent.Read, this.Value);
                    ob.Respond(result); // This line is executed
                    this.ReadSubject.OnNext(result); // This line is not

...
The read succeeds, we call ob.Respond, which then continues execution after my await:
    public async Task<byte[]> ReadCharacteristicAsync(Tuple<Guid, Guid> gattChar)
    {
        var ch = await GetGattCharacteristic(gattChar);
        if (ch != null)
        {
            var res = await ch.Read(); // Respond returns execution to this line
            return res.Data; // and we continue on
        }
        return new byte[0];
    }

without ever calling this.ReadSubject.OnNext(result)
Of course, once the IP is back in my code I call read a second time, and we grind to a halt.
I tried modifying my read as:
...
if (ch != null)
{
var res = ch.Read().ToTask();
await Task.Delay(250);
return (await res).Data;
}
...
but no change in behaviour

Ok, so I modified your lock function as follows to get past the lock
            pastGate = true;
            Log.Debug("Device", "Lock - past the gate");

            sub = inner.Subscribe(
                ob.OnNext,
                ob.OnError,
                () =>
                {
                    Log.Debug("Device", "Releasing sync lock");
                    this.reset.Set();
                    pastGate = false;
                    ob.OnCompleted();
                }
            );

This works (kinda) as expected:
Read is performed, onNext & onComplete is called, lock is released.
Some time later, the returned lambda is triggered, calling this.reset.set() a second time.  I don't know why the lambda takes so long to execute, but this change seems in the spirit of the idea at least?

The strange part is that when ob.OnCompleted is called, it will run the cleanup function (the return action in the lock) which releases the lock which is likely the second release you're seeing

Well if that's the trick to fixing this, I'll patch it up and ship tonight.

The strange part is that when ob.OnCompleted is called, it will run the cleanup function (the return action in the lock)

The really strange part is that it doesn't seem to be doing that. It seems that it waits until this.ReadSubject.OnNext(result); is called.
I can't test now, but my primary device seemed to work as you described (Android 7.1, Sony Z5).  Unfortunately, it's screen fell out so I can't verify this.  My gut instinct is that it could be some sort of performance difference, what I am working with now is much slower.
Do the changes as given here raise any red flags for you?

Thanks for the help

yw.  I actually have a few other changes in a fork (they seem to be device-specific fixes), if you are doing a release soon I'll send through a PR?

PR here:  https://github.com/aritchie/bluetoothle/pull/108#pullrequestreview-85223900
I'm not sure how to assign you as reviewer, I'd guess it's automatic but notifying you here just in case.

I'm working on v6 with a bunch of changes.  Trying to keep patches to a minimum right now.  I'll see about throwing in the UWP stuff as well.  You're brave to be using it though.  I can't even get client side disconnection to work right now.  I'm guessing your host device boots GATT connections off pretty quickly making this usable for you?

I haven't paid much attention to disconnecting - my project is an always-connected system.  It seems to be working fine (and made iteration much faster than android... ugh it's painful).

Fixed - will be released with v5.3.2 or v6 - depends on timing in the next few days

v6-beta is live on nuget.  It does have minor signature changes.


codec: Remove src format parameter from rfx_process_message

This parameter is not required. Default param is BGRX32 and if an other format is required rfx_context_set_pixel_format can be used.

@akallabeth better change it now than having it broken or unclear.