Install Instructions Incorrect in INSTALL.md

🐛 Bug
The install instructions are incorrect and outdated.  For one, pytorch nightly is no longer needed because pytorch 1.0 has been released.  This simplifies the installation as one can use conda to install torchvision.  Additionally, the order of operations doesn't make sense.  The instructions presume the user has cloned the git repo by asking to install the requirements.txt and then later asks the user to clone the repo.
# first, make sure that your conda is setup properly with the right environment
# for that, check that `which conda`, `which pip` and `which python` points to the
# right path. From a clean conda env, this is what you need to do

conda create --name maskrcnn_benchmark
conda activate maskrcnn_benchmark

# this installs the right pip and dependencies for the fresh python
conda install ipython

# maskrcnn_benchmark and coco api dependencies
pip install -r requirements.txt

# follow PyTorch installation in https://pytorch.org/get-started/locally/
# we give the instructions for CUDA 9.0
conda install pytorch-nightly cudatoolkit=9.0 -c pytorch

export INSTALL_DIR=$PWD
# install torchvision
cd $INSTALL_DIR
git clone https://github.com/pytorch/vision.git
cd vision
python setup.py install

# install pycocotools
cd $INSTALL_DIR
git clone https://github.com/cocodataset/cocoapi.git
cd cocoapi/PythonAPI
python setup.py build_ext install

# install PyTorch Detection
cd $INSTALL_DIR
git clone https://github.com/facebookresearch/maskrcnn-benchmark.git
cd maskrcnn-benchmark
# the following will install the lib with
# symbolic links, so that you can modify
# the files if you want and won't need to
# re-build it
python setup.py build develop

unset INSTALL_DIR

# or if you are on macOS
# MACOSX_DEPLOYMENT_TARGET=10.9 CC=clang CXX=clang++ python setup.py build develop

To Reproduce
See notes above.  You can't install requirements.txt without cloning the repo.
Expected behavior
# first, make sure that your conda is setup properly with the right environment
# for that, check that `which conda`, `which pip` and `which python` points to the
# right path. From a clean conda env, this is what you need to do

conda create --name maskrcnn_benchmark
conda activate maskrcnn_benchmark

export INSTALL_DIR=$PWD

# this installs the right pip and dependencies for the fresh python
conda install ipython

# install pytorch
# "cudatoolkit=9.0" is optional.  If you have an different version of cuda, then try removing this parameter
conda install -c pytorch pytorch cudatoolkit=9.0
conda install -c torchvision

# install PyTorch Detection
cd $INSTALL_DIR
git clone https://github.com/facebookresearch/maskrcnn-benchmark.git
cd maskrcnn-benchmark
pip install -r requirements.txt

# install pycocotools
cd $INSTALL_DIR
git clone https://github.com/cocodataset/cocoapi.git
cd cocoapi/PythonAPI
python setup.py build_ext install

# install PyTorch Detection
cd $INSTALL_DIR
cd maskrcnn-benchmark
# the following will install the lib with
# symbolic links, so that you can modify
# the files if you want and won't need to
# re-build it
python setup.py build develop

unset INSTALL_DIR

# or if you are on macOS
# MACOSX_DEPLOYMENT_TARGET=10.9 CC=clang CXX=clang++ python setup.py build develop

Thanks for spotting the issue!
Indeed, the requirements.txt is a bug.
About PyTorch nightly, it's still good to have, but not a requirement anymore, and https://github.com/facebookresearch/maskrcnn-benchmark/pull/510 should address it.
cc @chengyangfu about https://github.com/facebookresearch/maskrcnn-benchmark/pull/502

small bug. This line

conda install -c torchvision

should be changed to:

conda install -c pytorch torchvision


Make hunt auto-repeatable

We use arkime for packet capturing and then we would like to analyze data with kibana and es. It would be very useful if we could make a hunt run every x time so that we can display its result in our dashboard.

This is an interesting idea. A limitation of this feature would be slowing down the viewer if the hunt matches too many sessions and/or is constantly running.  Per viewer, only one hunt can run at a time. This means the auto-running hunt might be blocked if a hunt is already running or the auto-running hunt might block other hunts from running.
More things to think about:

What if the auto-running hunt matches more sessions than the settings allow?
Who should be able to create auto-running hunts? Just admins?
What time options should be provided? Run hunt every hour, 6 hours, 12 hours, day, week?
Should we allow more that 1 auto-running hunt to be configured?
Should we allow more than 1 hunt to run at a time? This might slow down searching viewer.
If no for question 5, which should take priority in the hunt queue, a normal hunt, or an auto-running hunt?

@awick thoughts?

I think maybe we could integration this with periodic queries


Trouble implementing ValidationObserver/ValidationProvider with Vuetify value/@input

Hello, I am struggling to achieve manual validation with these components. I am admittedly fairly new to all of these tools, and this may be a matter of configuration.
Works with v-model
https://codesandbox.io/s/189542w1q7
Both rules and flags work as expected in this example.
Fails with value and @input
https://codesandbox.io/s/pw4kqwoy4j
Things that go wrong in my attempt:

required rule never creates an error Fixed with use of @input.native
touched is never flagged true
pristine is always flagged true
max rule gets "stuck" if user enters too much text, selects all, and deletes Fixed with use of @input.native

Does anyone know a safe/intuitive way to trigger a dirty and touched state?
Thank you very much!

The public API has a setFlags method which you can use to update the input state as you see fit, it is a little bit manual but it is the only way for now. I have added it to the docs as it wasn't present before
To explain what is going on: because you are not using v-model vee-validate does not know which component/element you want to validate so v-model acts as a marker for the Provider component to be able to tell which element to validate and to listen to.
I have updated your example in this fork here.

Thank you so much!
I'm working my way through different form elements and am now struggling to implement value and @input using Vuetify's v-select component. The problem appears to be that there is no @change.native event for v-select, which may be a Vuetify problem (or decision)?
Works with standard HTML select
https://codesandbox.io/s/x9565x17vp
Fails with Vuetify v-select component
https://codesandbox.io/s/mz5nkxr3kx
I've attempted to find a workaround by manually invoking:
this.$refs.validator.validate(v)

However I could not get this working. Clearing the selected option (v is undefined) never triggers required. Perhaps I'm invoking at an incorrect time/place?
Thank you!

Looks like you stumbled upon a bug, sorry about that.
There is a workaround though. You could use provider.syncValue to force the validator value to be set to undefined as it currently ignores it on validate
Here is the example: https://codesandbox.io/s/lx50jm09p7
I fixed this here. I will do a patch release in a couple of days

Thank you for your efforts, this is working for me and I will look for that fix! :)


Redesign the ui of entire website

Feature description
I'm in GSSoC'23
I want to redesign the ui of this website as it is not good looking also want to add some attractive image and make it something interesting and attractive.
👀 Have you spent some time to check if this issue has been raised before?

[X] I checked and didn't find similar issue

🏢 Have you read the Code of Conduct?

[X] I have read the Code of Conduct

Please assign this issue to me. I will redisn the UI/UX of the site.
In addition to the color scheme enhancement, I propose integrating a chatbot to provide user support and improve engagement. The chatbot will serve as a virtual assistant, helping users navigate the website, locate resources, answer common queries, and assist with book donations or book issuing inquiries.


Guide: How to make the Spectator-View work on Hololens 2 + Android

Intro
After weeks of being stuck on error after error on this project, I wanted to share a complete guide on how to make this project work for Hololens 2 + Android, so that others don't have to spend this much time in developer hell.
This guide is split into two parts:
1: Building the MRSV-Unity Package
2: Building, deploying and using the package for Hololens 2 and Android.
If you want to skip building the Unity Package, I have provided a pre-build package here.
You can download it & directly go to part 2!
Prerequesites

Unity 2019.2.21

Add the Android, UWP and Windows build packages to the Unity install
Select all options (Install JDK, NDK ect..) for the Android package

Visual Studio Enterprise 2019

Inside of Visual Studio Enterprise, you have to install:

.Net Desktop Development, C++ Desktop Development
Universal-Windows Platoform Development
Game Development with Unity
MSVC v142 - VS 2019 C++ ARM64 Buildtools (latest)
MSVC v142 - VS 2019 C++ ARM64 Libraries (latest)
MSVC v142 - VS 2019 C++ ARM Buildtools (latest)
MSVC v142 - VS 2019 C++ ARM Libraries (latest)
Windows 10 SDK 10.0.18362.0
USB Device Connectivity (optional)
C++ UWP Support for v142 Buildtools (ARM64)

Git installed, check the Option to add it to the path during installation

Nuget command line downloaded and added to your path

At least 40 GB of free disk space

Part 1: Building the MRSV-Unity Package
Before starting with the building process, it is extremely important that you have the exact software that is described here installed on your system. If you don't use the exact same version, the build might fail
Step 1: Downloading & Setup all files
To download all the neccessary files, we first need to specify the folders in which we want the files to be downloaded into. To avoid conflicts during build that can arise due to exceeding the max path length limit, you should create a folder that is very close to the root of your drive. For example, I created a folder C:\Dev\Software and a folder C:\Dev\Tools.
I put the nuget.exe into the C:\Dev\Tools folder and added it to the path.
Now open a command line window with administrator rights and navigate to your path:
cd C:\Dev\Software
Now we'll clone this repository as a submodule. Type the following command into the command line and wait until git has finished:
git init
git submodule add https://github.com/microsoft/MixedReality-SpectatorView
We should have a copy of this repo in our folder now. Now we execute a .bat file inside of the repo, that will download, install and build the Unity Package...at least in theory. The process will fail a at first, but we'll fix that later. Nevertheless, it is still very important that you execute this command once, so that all files are being downloaded. While doing this, pay very close attention the the console output! Luckily, the logging is quite good and will remind of any errors that exist.
Let's start by executing MixedReality-SpectatorView\tools\scripts\CreateUnityPackage.bat -HardCopySymbolicLinks
Depeding on your internet connection and CPU, this might take from ten minutes to a few hours. A lot of files will be downloaded now and a build attempt will be made.
When the process is done, you should see something similar to this:

Notice all the 'FALSE' flags on the build results, which indicate an unsuccessfull build. Let's find the culprit!
2: Fixing TIFF UWP
When we scroll up on our log we see this error:

This is caused by an incompatibility of the TIFF library with the UWP-Platform. To fix this, we need to patch the source code file.
Luckily, vcpkg (the library manager used in this repo) allows us to patch faulty files.
To do this, we'll go into the Tiff-Lib Source folder with the command line via this line ( Replace vX.X.X-xxxxxx.clean with whatever your folder is called there):
cd MixedReality-SpectatorView\external\vcpkg\buildtrees\tiff\src\vX.X.X-xxxxxxxxx.clean
Then we initiate an empty git repository, which allows us the create the patch file, add the current version of the files to it and commit it:
git init .
git add .
git commit -m "temp"
Now we can modifiy the files. To do that, we go into the MixedReality-SpectatorView\external\vcpkg\buildtrees\tiff\src\vX.X.X-xxxxxxxxx.clean\libtiff\ folder and open tif_win32.c inside of a text editor
Now we need to delete this code at around line 280:
fd = (thandle_t)CreateFileA(name, 		(m == O_RDONLY)?GENERIC_READ:(GENERIC_READ | GENERIC_WRITE), 		FILE_SHARE_READ | FILE_SHARE_WRITE, NULL, dwMode, 		(m == O_RDONLY)?FILE_ATTRIBUTE_READONLY:FILE_ATTRIBUTE_NORMAL, 		NULL);
And replace it with this code:
#if (_WIN32_WINNT >= _WIN32_WINNT_WIN8)      fd = (thandle_t)CreateFile2(name,                  (m == O_RDONLY)?GENERIC_READ:(GENERIC_READ | GENERIC_WRITE),                  FILE_SHARE_READ | FILE_SHARE_WRITE,                  dwMode,                  NULL); #else 	fd = (thandle_t)CreateFileA(name, 		(m == O_RDONLY)?GENERIC_READ:(GENERIC_READ|GENERIC_WRITE), 		FILE_SHARE_READ | FILE_SHARE_WRITE, NULL, dwMode, 		(m == O_RDONLY)?FILE_ATTRIBUTE_READONLY:FILE_ATTRIBUTE_NORMAL, 		NULL); #endif
And the same for this code at around line 330, delete:
fd = (thandle_t)CreateFileW(name, 		(m == O_RDONLY)?GENERIC_READ:(GENERIC_READ|GENERIC_WRITE), 		FILE_SHARE_READ | FILE_SHARE_WRITE, NULL, dwMode, 		(m == O_RDONLY)?FILE_ATTRIBUTE_READONLY:FILE_ATTRIBUTE_NORMAL, 		NULL);
replace it with:
#if (_WIN32_WINNT >= _WIN32_WINNT_WIN8)      fd = (thandle_t)CreateFile2(name,                  (m == O_RDONLY)?GENERIC_READ:(GENERIC_READ | GENERIC_WRITE),                  FILE_SHARE_READ | FILE_SHARE_WRITE,                  dwMode,                  NULL); #else 	fd = (thandle_t)CreateFileW(name, 		(m == O_RDONLY)?GENERIC_READ:(GENERIC_READ|GENERIC_WRITE), 		FILE_SHARE_READ | FILE_SHARE_WRITE, NULL, dwMode, 		(m == O_RDONLY)?FILE_ATTRIBUTE_READONLY:FILE_ATTRIBUTE_NORMAL, 		NULL); #endif
Now save the file and close it.
Back in our command line, we get the difference between our last commit and the changed file, and output it as a diff file. This is our Patch file. To do this, we enter:
git diff --ignore-space-at-eol --output Fix_UWP_Tiff.patch
Now we should have a Fix_UWP_Tiff.patch file in our vX.X.X-xxxxxxxxx.clean folder. Move this file to MixedReality-SpectatorView\external\vcpkg\ports\tiff\
To apply the patch, we open the "portfile.cmake" in the same folder, and add Fix_UWP_Tiff.patch after "FindCMath.patch" on line 66, save it.
Now we can go back to the parent folder of the MRSV-Repo with cd C:\Dev\Software\ and then try to build again MixedReality-SpectatorView\tools\scripts\CreateUnityPackage.bat -HardCopySymbolicLinks
Now after the build has concluded, most build results should be "TRUE" (Exept for the optional stuff like Elgato, Blackmagic ect.)

3: Fixing the QR-Code dependencies
In the current state of the project, important C-Sharp files for the QR-Code detection are simply removed from the package. Without them however, the QR-Code detection won't work. To fix this problem, open MixedReality-SpectatorView\tools\Scripts\ExternalDependencyHelpers-psm1 inside of a text editor, and remove these lines, then save it:
 # TODO - remove this deletion step once qr code nuget packages don't break mac builds   Write-Host "Removing c# files that break in Unity packages for QRCode Dependencies in directory $contentFolder\*.cs*"   Remove-Item -Recurse $contentFolder -Include *.cs*
Rebuild the package again with the command MixedReality-SpectatorView\tools\scripts\CreateUnityPackage.bat -HardCopySymbolicLinks
4: Copy QR-Code dependencies into the package
The package has been built, but they are missing the QR-Code dependencies. So we need to copy the contents of the folder "MixedReality-SpectatorView\external\MixedReality-QRCodePlugin\UnityFiles" into the folder "MixedReality-SpectatorView\packages\com.microsoft.mixedreality.spectatorview.1.2.0\SpectatorView.ExternalDependencies\UnityFiles"
Done! The package is now ready to be used inside of Unity 👍
Part 2: Building the Hololens 2 & Android Apps
For this tutorial, I'll be using the sample scenes that are shipped with this repository.
If you skipped Part 1 and just downloaded the package, you still need to clone this git repository, to use the Sample scenes in there. Clone the repository somewhere close to the root of your C:\ drive (For example C:\Dev\Software).
Step 1: Configuring the project
Open up the "C:\Dev\Software\MixedReality-SpectatorView\samples\SpectatorView.Example.Unity" folder with Unity 2019.2.21.
If asked about upgrading/reimporting the project due to a newer Unity version, go ahead. Ignore the errors in the console for now.
Now we'll add the MRSV-Package via Window > Package Manager > + > Add Package from Disk
Select the package.json from our package (C:\Dev\Software\MixedReality-SpectatorView\packages\com.microsoft.mixedreality.spectatorview.1.2.0\package.json)
There are two remaining errors in the console, you can ignore them for now.

Now we open our Sample Scene (Assets > Scenes > SpectatorView.Hololens) and Update the Asset Caches (Spectator View > Update All Assets Caches)
Step 2: Setting the right Windows SDK in the registery
MRSV only works with SDK 10.0.18362.0. Later SDKs have a bug in the Networking sockets. You can theoretically choose which SDK Unity should use in the build dialog, but this doesn't actually work. Instead we need to do this in the windows register:
Open the windows search bar and type "Registry", open the Registry-Editor. Open the folder:
Computer\HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Microsoft SDKs\Windows\v10.0
In there, open the Entry "ProductVersion" and change it's value to "10.0.18362.0". Done!
Step 3: Building the Hololens App
In the SpectatorView.Hololens Scene, select the "SpectatorView" GameObject and click on "Hololens" on the Platform switcher. This should configure the project correctly for the Hololens. Also make sure that the "Role" is set to "User" on the Spectator View Script.
Now, open the build settings, and make sure they look like this:

You can disable "Development Build", "Script Debugging" and "Wait For Managed Debugger", but I'd recommend it, so that you can notice any errors that might have.
Hit Build, and build the project to any directory you want.
When the build is done, open the newly created Visual Studio solution inside your build folder with Visual Studio 2019.
Power on your Hololens, and connect your Hololens to the same network as your computer.
Check that The "SpectatorViewExampleUnity" Projekt is set as startup project (Bold text)

Now, configure your project as Release | ARM64 | Remote Machine

Go to the Debug properties:

Go to Configuration Properties > Debugging > Machine Name and enter the IP of your Hololens

Now hit the "Play/Build" button, and your app will be uploaded to the Hololens.
Step 4: Building for Android
In the SpectatorView.Hololens Scene, select the "SpectatorView" GameObject and click on "Android" on the Platform switcher. Also make sure that the "Role" is set to "Spectator" on the Spectator View Script.
Now, open the build settings, and make sure they look like this:

"Development Build" and "Script Debugging" is optional again, but is helpful for debugging if anything goes wrong. You can use Android Logcat to watch for errors.
Build it! If asked about a gradle conflict, select "No". Install it on your Android device with ADB
Step 5: Running the Apps
Connect both of your devices to the same network. You may have to disable mobile data on your phone.
Start both apps. When you can see the three boxes on your Hololens, enter the IP adress of your hololens in the Android App and connect. When a QR-Code shows up, grant permissions to use the camera inside of the Hololens and hold to it's front camera to scan it. You may have to restart the Hololens 2 and Android app after granting permissions.
The scene should now hopefully also show on your android device! Good Luck!

FYI I believe this is the patch you're referring to for the Networking problem so you don't have to hard wire the Windows 10 SDK; https://forum.unity.com/threads/il2cpp-failing-in-windows-machine.891436/#post-5944052

I tried rebuilding with above modifications, but still failing at the Tiff issue. Also can you provide alternative link to  https://github.com/ExperimentalSurgery/MRSPV-Unity-Package. It says package not found

Sorry, the repo was still set to private, it should work now!
Can you go to: MixedReality-SpectatorView\external\vcpkg\buildtrees\tiff\src\vX.X.X-xxxxxxxxxx.clean\libtiff\ and open tif_win32.c and take a look if the patch has been applied correctly? You should see the code you pasted in step 2 in there. If not, double check that you followed the steps correctly and delete all folders from the tiff/src/, then try to rebuild again.

Thank you Christopher, seems like it is working now. I just checked the build and it succeed. Appreciate your quick response.

Hi there,
I tried Building with the above steps and am getting the following error

I also tried building with -NoDownloads but still got the same error.

Hey! Seems like something from the patching step went wrong. Triple check and repeat every step from "2: Fixing TIFF UWP", maybe also try deleting the files you created first. It's super easy to get something wrong in this step, so make sure you follow the instructions exactly!

Yes that's right, you don't want to commit the git repo after making the changes.
After you made sure that you executed all steps correctly, try to delete these folders and then run the script again!

Fantastic guide. Thankyou for taking the effort to type this out. This is one of the most bizarrely packaged unity projects i've ever come across.
With your help, I managed to get the project deployed and can run my app in spectator view in Android and on the Hololens.
Sadly the Android app lacks alot to be desired, stuck in portrait mode, with a fixed focus. Did anyone have any luck with the SLR option?
I am trying now to get an Elgato HD60 S+ to work, but the compositor just gives me a green screen, despite it working in the 4k capture software and windows camera app. I haven't done the TIFF fix, but I suspect that would be unrelated.

Just to be sure, the old APK you build does still work, just the new one not?
But yeah this project is a big mystery, after working fine for several months the app on my phone just crashes, even after reinstalling, and not changing anything on my phone. Haven't come around to debug it yet

Ah sorry to hear that.
Yep, my old APK is fine.
I suspect it's something to do with the AR core package failing to install. I also had integrated MRTK 2.8 and had updated Unity to 2.4.22 like some of the other posts mention here. I recall I had to update ARCore / foundation packages to 3.1.3 to have it be compatible.
Sadly doing this again nothing works and I'm sure it's something esoteric I've missed, (or my repo is set up wrong).
Pity MS aren't still supporting this - it's such a powerful use case for showcasing this nascent technology.

Agreed, it's probably one of the most important tools to get people to understand how AR works. Sadly, Microsoft doesn't treat it this way.
If you can find a fix for your bug let us know, maybe it'll help someone else!

Thank you @ChristopherRemde for your great guide! I did everything as you said and was able to fix Tiff library and build both for HoloLens and Android. It is very important to stay on Unity 2019.2.21. I tried to update the project to 2019.4.34 but the android app doesn't work. I had the same result as @Isometric-Bacon where Google Play message appears and requires upgrading AR Core to the latest version. It doesn't work as I have the latest version. Reinstalling the 2019.2x version resolved the problem and I was able to connect successfully. The hybrid scenario where HoloLens has 2019.4.x and phone has an older version, doesn't work either.
On the HoloLens log file looks like that

QR Code Added: sv1
QRCode location unknown or not yet available. <- this is probably the issue
MarkerDetector: Markers Updated
MarkerDetector: Processed all markers
MarkerDetector: Marker with id: 1 wasn't found yet. <- this is going in the loop
and the mobile app gets stuck at QR code screen. I will let you know if I found a solution.

I'm curious if anyone was able to upgrade this project to a less ancient Unity version.


dynamo_export fails without call stack and details in CI

When developing #930, dynamo_export hit some errors but CI didn't provide details to debug or locate the cause. We need to at least print the call stack or upload the diagnostic to artifact when exception occurs.
cc @BowenBao , @justinchuby

Could you share an example job link? thx

2023-07-28T00:48:46.9368021Z [gw0] [ 98%] PASSED onnxscript/tests/function_libs/torch_lib/ops_test.py::TestOutputConsistencyFullGraphCPU::test_output_match_opinfo__full_like_dtype_cpu_float16
2023-07-28T00:49:30.1877854Z ##[error]The operation was canceled.
2023-07-28T00:49:30.2008818Z Post job cleanup.

It shows the job was canceled. Do we know this is a test error?

When there's a new push the old jobs will be canceled

Check this one: https://pipelines.actions.githubusercontent.com/serviceHosts/18101f61-82cd-4f0f-b124-60b829998504/_apis/pipelines/1/runs/13947/signedlogcontent/24?urlExpires=2023-07-28T20%3A02%3A38.4940021Z&urlSigningMethod=HMACV1&urlSignature=WVhqf%2F2dbYkY5eeHUO8iHgBv8lvuupTiXeb%2FWSzJMso%3D
Should see this error:
2023-07-28T00:31:01.9080429Z FAILED onnxscript/function_libs/torch_lib/graph_building_test.py::TestLargeModelSave::test_save_initializer_to_files_for_large_model - torch.onnx.OnnxExporterError: Failed to export the model to ONNX. Generating SARIF report at report_dynamo_export.sarif. Please report a bug on PyTorch Github: https://github.com/pytorch/pytorch/issues
2023-07-28T00:31:01.9080930Z ==== 1 failed, 2829 passed, 9320 skipped, 720 xfailed in 449.24s (0:07:29) ====

That one expired somehow. But I have found the job it links to https://github.com/microsoft/onnxscript/actions/runs/5686738914/job/15414058417
The full error message is above the summarization section.
2023-07-28T00:31:10.8113987Z =================================== FAILURES ===================================
2023-07-28T00:31:10.8181648Z ______ TestLargeModelSave.test_save_initializer_to_files_for_large_model _______
2023-07-28T00:31:10.8182510Z [gw1] linux -- Python 3.10.12 /home/runner/work/onnxscript/onnxscript/.nox/test_torch_nightly/bin/python
2023-07-28T00:31:10.8183261Z .nox/test_torch_nightly/lib/python3.10/site-packages/torch/onnx/_internal/exporter.py:837: in dynamo_export
2023-07-28T00:31:10.8183673Z     ).export()
2023-07-28T00:31:10.8184210Z .nox/test_torch_nightly/lib/python3.10/site-packages/torch/onnx/_internal/exporter.py:650: in export
2023-07-28T00:31:10.8184664Z     graph_module = pre_export_passes(
2023-07-28T00:31:10.8185670Z .nox/test_torch_nightly/lib/python3.10/site-packages/torch/onnx/_internal/exporter.py:865: in pre_export_passes
2023-07-28T00:31:10.8186235Z     module = passes.Decompose(
2023-07-28T00:31:10.8186869Z .nox/test_torch_nightly/lib/python3.10/site-packages/torch/onnx/_internal/diagnostics/infra/decorator.py:142: in wrapper
2023-07-28T00:31:10.8187337Z     ctx.log_and_raise_if_error(diag)
2023-07-28T00:31:10.8188007Z .nox/test_torch_nightly/lib/python3.10/site-packages/torch/onnx/_internal/diagnostics/infra/context.py:268: in log_and_raise_if_error
2023-07-28T00:31:10.8188489Z     raise diagnostic.source_exception
2023-07-28T00:31:10.8189137Z .nox/test_torch_nightly/lib/python3.10/site-packages/torch/onnx/_internal/diagnostics/infra/decorator.py:127: in wrapper
2023-07-28T00:31:10.8189599Z     return_values = fn(*args, **kwargs)
2023-07-28T00:31:10.8190175Z .nox/test_torch_nightly/lib/python3.10/site-packages/torch/onnx/_internal/fx/_pass.py:217: in run
2023-07-28T00:31:10.8191225Z     old_tabular = fx_graph_tabular(self.module.graph)
2023-07-28T00:31:10.8191875Z .nox/test_torch_nightly/lib/python3.10/site-packages/torch/onnx/_internal/fx/_pass.py:120: in fx_graph_tabular
2023-07-28T00:31:10.8192308Z     graph.print_tabular()
2023-07-28T00:31:10.8192859Z .nox/test_torch_nightly/lib/python3.10/site-packages/torch/fx/graph.py:1298: in print_tabular
2023-07-28T00:31:10.8193265Z     from tabulate import tabulate
2023-07-28T00:31:10.8193721Z E   ModuleNotFoundError: No module named 'tabulate'
2023-07-28T00:31:10.8194013Z
2023-07-28T00:31:10.8194328Z The above exception was the direct cause of the following exception:
2023-07-28T00:31:10.8194984Z onnxscript/function_libs/torch_lib/graph_building_test.py:174: in test_save_initializer_to_files_for_large_model
2023-07-28T00:31:10.8195428Z     torch.onnx.dynamo_export(
2023-07-28T00:31:10.8196008Z <@beartype(torch.onnx._internal.exporter.dynamo_export) at 0x7fd3952bb490>:51: in dynamo_export
2023-07-28T00:31:10.8196401Z     ???
2023-07-28T00:31:10.8196939Z .nox/test_torch_nightly/lib/python3.10/site-packages/torch/onnx/_internal/exporter.py:847: in dynamo_export
2023-07-28T00:31:10.8197377Z     raise OnnxExporterError(
2023-07-28T00:31:10.8198393Z E   torch.onnx.OnnxExporterError: Failed to export the model to ONNX. Generating SARIF report at report_dynamo_export.sarif. Please report a bug on PyTorch Github: https://github.com/pytorch/pytorch/issues

It's the annoying tabulate dependency https://github.com/pytorch/pytorch/issues/104166. I'll fix this in exporter.
I think we can close this issue.

I think there's another one after tabular was installed in CI. The sarif was empty for that.

The hunt continues then lol. So it is from https://github.com/microsoft/onnxscript/actions/runs/5687308935/job/15415511771
2023-07-28T02:12:57.8966057Z =================================== FAILURES ===================================
2023-07-28T02:12:57.8967226Z ________ TestModelSaving.test_save_initializer_to_files_for_large_model ________
2023-07-28T02:12:57.8968566Z [gw1] linux -- Python 3.10.12 /home/runner/work/onnxscript/onnxscript/.nox/test_torch_nightly/bin/python
2023-07-28T02:12:57.8970013Z onnxscript/function_libs/torch_lib/graph_building_test.py:179: in test_save_initializer_to_files_for_large_model
2023-07-28T02:12:57.8970995Z     self.assertEqual(os.listdir(temp_dir), 0)
2023-07-28T02:12:57.8971859Z E   AssertionError: [] != 0

Looks like we should fix the test.
To summarize

The error is not from exporter, export finished successfully so it didn't dump sarif - on separate note, I'm thinking of adding environment variable to override if a report should be dumped so no code changes needed. Unrelated to this issue.
Call stack and detail is shown in CI. It is not in the summarization section and quite far up in the log due to the large number of XFAILs and SUBSKIPs in between. @justinchuby maybe they should be suppressed in CI?

Do you mean xfails and subskips should be suppressed? I enabled it because it may be good for us to check we don't skip more than intended.

Yes that's my suggestion. Looks like it is creating confusion for people when inspecting CI logs. Feel free to close this issue if won't fix.

I am hiding xfail but I think it would still be good have show skipped tests so we don't accidently skip more than intended. We can disable skips if that continues to bug us.

Marked as resolved for now.


(Chroe) verify indexes exists for dashboard collections

[x] should be defined in mongoose scheme
[x] verify they have been created in database after defining
[x] verify they match the queries we use

@sirpy
I checked the indexes:

it is already defined in our schemas.
I checked the db whether the indexes exists (see screenshots):

about-claim-transactions
about-transactions
addresses-claimed
property
wallets

Almost all of our queries are searching for all records (ie .find({})). Some of them are filtered by date if such a field exists in the collection (eg about-claim-transaction).

I checked whether the indexes working on queries used across the app - it is working as expected.


Number of matches requested

Quick question regarding get_match_history, it seems to limit the matches_requested to 100, is there anyway to expand that to a higher limit or is it a fault on my part

I would guess that limitation was included by Valve to prevent server overload.

It's a limit of the API, the max is 100 matches returned.
A work around is to do multiple requests. Use the 'start_at_match_id' parameter with the id of the earliest match in the batch of 100 you get.

Yeah, I realized that, it's just that all the documentation on hand,
including the one linked too in the readme still has it listed as 25 games
per request.
On Sat, Mar 7, 2015 at 11:24 PM, Daniel Morrissey<EMAIL_ADDRESS>wrote:

It's a limit of the API, the max is 100 matches returned.
A work around is to do multiple requests. Use the 'start_at_match_id'
parameter with the id of the earliest match in the batch of 100 you get.
—
Reply to this email directly or view it on GitHub
https://github.com/andrewsnowden/dota2py/issues/17#issuecomment-77732474
.


Block sync problem in short block time chain.

Bug Report
Setup
CometBFT version (use cometbft version or git rev-parse --verify HEAD if installed from source): v0.38.x
Have you tried the latest version: yes
ABCI app (name for built-in, URL for self-written if it's publicly available): initia, injective, sei
What happened?
We are currently running single validator network with 0.5s block time setting and trying to keep syncing from other full node. But periodically, the full node keeps failing to keep sync and fall behind. and weird thing is that restarting the node solves the problem.
And also got some reports like they also having this problem in Sei and Injective chain and solve the issue by restarting the node.
What did you expect to happen?
no problem in block sync
How to reproduce it
Prepare short block time network and sync it.
Anything else we need to know
From Newmetric @kjessec,
Shared in other channel, but one thing we noticed:

"Solved by restarting" <- Upon restart CometBFT is likely in BlockSync mode, where it fetches next 100 blocks in parallel and apply one by one. This way latency is less of an issue
Once it catches up it transitions to consensus mode (listening to Proposals) -> in this mode, Comet is able to process 1 proposal at a time obviously. At 0.5s block the network latency plays a big role I think
AFAIK Comet doesn't transition back to BlockSync mode automatically, this might be the culprit

Q: going back to the mempool question, are you tracking it other than this explorer? which shows txs/block.  I’d be curious if you could compare the mempool from the validator with the one from the full node and see if they diverge overtime too much. Best way would be to run them with prometheus enabled and watch the mempool size overtime, you can also watch other metrics like their heights and see where they start to diverge (assuming this is a testnet you can monitor these).

Hmm I don't think it's mempool related (hence like Zaki mentioned  it's slightly off topic in this channel)
This particular chain is setup as an L2 where 99% of the incoming transaction is either from the sequencer or the peer node exclusively. Mempool itself isn't too busy - there's only 1-2 transactions every second ish, which almost always get flushed right away (as in mempool never grows >5 at max)
One thing to note is the peer distribution is very sparse. There's only 3 nodes in the network where the main validator is in the US and the rest in Asia. Mean latency is ~250ms, which sometimes is as long as the block interval alone

Q: But RPC load on the full node might be substantial?

yeah, just confirmed with the peer node operator. It's not being used as RPC at all, so no chance of it getting blocked due to ABCI locks on their end.
The sequencer is seeing some RPC request, although not too heavy. But my understanding is in this particular setup (1 validator + N peers), the entire network should run only as fast as the validator with whatever load from RPC, because there's only 1 node that is able to send anything through the consensus reactor.
I feel like if it were the load from RPC that's interfering with the general block/round distribution, the sync rate gap would have been somewhat random. What's observed is that the gap is gradually (and rather linearly) increasing over time as if there's some latent overhead. We did experiment with peering this to another node with a close proximity... this node had 0 issue syncing
So yeah maybe... really just latency?

From Injective (Achilleas Kalantzis),
The working theory on our side is:

The delta between network tip and node X is constantly growing due to heavy queries that block consensus and take time to process.
The node is currently in consensus mode and so it syncs slowly, even if the diff is just 50 blocks it will only grow.
Restarting the node returns the node to blocksync mode where blocks are synced in parallel and the node is back to the tip again.

From Osmosis (Ojha)
Q: how fast a lagging node can catch up using consensus

This should be ~3x improved on main relative to last release at least. (Assuming block execution time = 0)
At least on Osmosis validator count / num peer settings

I think the consensus sync problems are more likely to be that you drop block parts / votes for a block your not ready for.

And your peers won't resend it (especially parameterizing at 250ms blocks)

Yeah, I think our problem is that in consensus mode:

Nodes don't save data sent from future heights/rounds
Peers as a consequence try to not gossip things too far in the future
Once a peer has sent a vote/block part they will never send it again.

I think one of the problems here is the following. To decide a block we need 2/3+ Precommits for the block, they contain the BlockID, and we need the full block matching that BlockID.
When a node realizes that a peer is lagging behind it does the follow, in different routines:

Sends Precommits for the BlockID of the block committed at the reported peer height
Sends block Parts for the Block committed at the reported peer height

We only accept a block Part if it matches our cs.ProposalBlockParts, which is a Merkle tree. We setup this Merkle tree upon receiving a Proposal, this is the ordinary operation, or when we see 2/3+ Prevotes or Precommits for a block (that is not the block we are building or have built).
What matters here is the second case with Precommit messages. Only when we get the 2/3+ Precommits for a BlockID, we start accepting the Parts of the associated block:
https://github.com/cometbft/cometbft/blob/4d98dc1b2f611e8f2545172e66799a7bd9d7a317/internal/consensus/state.go#L1774-L1786
In summary, we are receiving block parts before we receive the 2/3+ Precommits that would allow us to accept the associated block parts. This means that the block parts that we have received, although good ones, were dropped, and we are waiting for their duplicates, eventually coming from other peers.
To attest my thesis, you could look to the INFO message of the code above and increase the log level of the message produced when we reject a block part:
https://github.com/cometbft/cometbft/blob/4d98dc1b2f611e8f2545172e66799a7bd9d7a317/internal/consensus/state.go#L2125-L2138
If my thesis is right, we first reject parts, then get the 2/3+ precommits, then start accepting block parts, then build the full block and eventually commit.

We should probably rephrase the issue.
The problem is on slow/catching-up peers in consensus. The solution is to restart the node, so that it performs block sync.


Stage Variable As Lambda Alias Breaks APIG Dashboard Test

Hi Ryan,
I hope things are well with you.  I'm wondering if you could confirm a bug.  When we point APIG Endpoints to a Lambda that uses an API Gateway Stage Variable as the Lambda's Alias, we can't test the Endpoint in the APIG dashboard because it throws a regular expression error.
Full Example ARN:
arn:aws:apigateway:us-east-1:lambda:path/2015-03-31/functions/arn:aws:lambda:us-east-1:101010101:function:austen4-UsersImages:${stageVariables.functionAlias}/invocations

Throws this error:
{
  "message": "1 validation error detected: Value 'arn:aws:lambda:us-east-1:101010101:function:austen4-UsersImages:' at 'functionName' failed to satisfy constraint: Member must satisfy regular expression pattern: (arn:aws:lambda:)?([a-z]{2}-[a-z]+-\\d{1}:)?(\\d{12}:)?(function:)?([a-zA-Z0-9-_]+)(:(\\$LATEST|[a-zA-Z0-9-_]+))?"
}

Are we doing something wrong with how we are entering in the Stage Variable?

Hi Austen,
I think I responded to your forum post yesterday. This is a known issue with the console - we're working on it. You can still test with the SDK/CLI. If invocation works after you deploy the API then you are using stage variables correctly. -Ryan

Saw the post.  As always, you are the man.  Thanks Ryan :)


Carry over descriptions

This PR introduces changes that carry over descriptions for elements with substitutions to FHIR's short and definition fields.  It also includes changes that add description data to the short field for slices.
To test it, ensure all branches are on master except this one (descriptions2), and that they are yarn linked.  Then run the shr-cli:
node . -c ig-odh-config.json ../shr_spec/spec/

Publish the FHIR IG (yarn ig:publish on a network w/out proxy) and inspect the results.  A few expected results are shown below with old IG on the left and new IG on the right.
CombatZonePeriod Profile
Note that valuePeriod now shows a specific description in the differential view.

UsualWork Profile
Note that the component slices no longer just say the name of the element but also provide a description.

I have no idea why this is marked as out-of-date with the base branch.  Looking at the branches page, it looks fine to me.

@markkramerus is reviewing the IG output.  You may want to wait until he gives thumbs up before reviewing this PR -- but I submitted it now in anticipation of his eventual thumbs up.

@markkramerus has approved this on his end, so it's ready for code review and (hopefully) approval.


Sensu Client exception on standalone check when interval omitted and publish: false

When I have a check defined with standalone: true, publish: false, and interval omitted, I get a stack trace when restarting sensu-client.
There is no issue when including an arbitrary interval, but I don't want the check scheduled standalone on the client, I merely want it to exist so the check will fail when there are no results posted within the TTL.
Check definition:
{
   "checks": {
    "ansible-pull": {
        "command": "false",
        "handlers": [
            "all"
        ],
        "publish": false,
        "standalone": true,
        "timeout": 1200,
        "ttl": 1800
    }
}

(Note that "command": "false" refers to the Linux command that always fails, not a JSON boolean value).
Stack trace when restarting sensu-client:
{"timestamp":"2016-05-25T22:06:47.311233+0000","level":"debug","message":"scheduling standalone checks"}
error reading event: A JSON text must at least contain two octets!
/opt/sensu/embedded/lib/ruby/gems/2.3.0/gems/sensu-0.23.2/lib/sensu/client/process.rb:262:in `calculate_execution_splay': undefined method `*' for nil:NilClass (NoMethodError)
        from /opt/sensu/embedded/lib/ruby/gems/2.3.0/gems/sensu-0.23.2/lib/sensu/client/process.rb:279:in `block in schedule_checks'
        from /opt/sensu/embedded/lib/ruby/gems/2.3.0/gems/sensu-0.23.2/lib/sensu/client/process.rb:274:in `each'
        from /opt/sensu/embedded/lib/ruby/gems/2.3.0/gems/sensu-0.23.2/lib/sensu/client/process.rb:274:in `schedule_checks'
        from /opt/sensu/embedded/lib/ruby/gems/2.3.0/gems/sensu-0.23.2/lib/sensu/client/process.rb:300:in `setup_standalone'
        from /opt/sensu/embedded/lib/ruby/gems/2.3.0/gems/sensu-0.23.2/lib/sensu/client/process.rb:371:in `bootstrap'
        from /opt/sensu/embedded/lib/ruby/gems/2.3.0/gems/sensu-0.23.2/lib/sensu/client/process.rb:381:in `block in start'
        from /opt/sensu/embedded/lib/ruby/gems/2.3.0/gems/sensu-0.23.2/lib/sensu/daemon.rb:230:in `block in setup_transport'
        from /opt/sensu/embedded/lib/ruby/gems/2.3.0/gems/sensu-transport-5.0.0/lib/sensu/transport.rb:26:in `block in connect'
        from /opt/sensu/embedded/lib/ruby/gems/2.3.0/gems/eventmachine-<IP_ADDRESS>/lib/em/deferrable.rb:151:in `set_deferred_status'
        from /opt/sensu/embedded/lib/ruby/gems/2.3.0/gems/eventmachine-<IP_ADDRESS>/lib/em/deferrable.rb:191:in `succeed'
        from /opt/sensu/embedded/lib/ruby/gems/2.3.0/gems/sensu-transport-5.0.0/lib/sensu/transport/rabbitmq.rb:195:in `block in setup_connection'
        from /opt/sensu/embedded/lib/ruby/gems/2.3.0/gems/eventmachine-<IP_ADDRESS>/lib/em/deferrable.rb:151:in `set_deferred_status'
        from /opt/sensu/embedded/lib/ruby/gems/2.3.0/gems/eventmachine-<IP_ADDRESS>/lib/em/deferrable.rb:191:in `succeed'
        from /opt/sensu/embedded/lib/ruby/gems/2.3.0/gems/amqp-1.5.0/lib/amqp/session.rb:682:in `connection_successful'
        from /opt/sensu/embedded/lib/ruby/gems/2.3.0/gems/amqp-1.5.0/lib/amqp/session.rb:1040:in `handle_open_ok'
        from /opt/sensu/embedded/lib/ruby/gems/2.3.0/gems/amqp-1.5.0/lib/amqp/session.rb:1136:in `block in <class:Session>'
        from /opt/sensu/embedded/lib/ruby/gems/2.3.0/gems/amqp-1.5.0/lib/amqp/session.rb:959:in `receive_frameset'
        from /opt/sensu/embedded/lib/ruby/gems/2.3.0/gems/amqp-1.5.0/lib/amqp/session.rb:933:in `receive_frame'
        from /opt/sensu/embedded/lib/ruby/gems/2.3.0/gems/amqp-1.5.0/lib/amqp/session.rb:671:in `receive_data'
        from /opt/sensu/embedded/lib/ruby/gems/2.3.0/gems/eventmachine-<IP_ADDRESS>/lib/eventmachine.rb:194:in `run_machine'
        from /opt/sensu/embedded/lib/ruby/gems/2.3.0/gems/eventmachine-<IP_ADDRESS>/lib/eventmachine.rb:194:in `run'
        from /opt/sensu/embedded/lib/ruby/gems/2.3.0/gems/sensu-0.23.2/lib/sensu/client/process.rb:18:in `run'
        from /opt/sensu/embedded/lib/ruby/gems/2.3.0/gems/sensu-0.23.2/exe/sensu-client:10:in `<top (required)>'
        from /opt/sensu/bin/sensu-client:22:in `load'
        from /opt/sensu/bin/sensu-client:22:in `<main>'

This happens with Sensu 0.23.2-2 from the Ubuntu repository.
This error contradicts the interval Check parameter documentation:
interval:
  description: The frequency in seconds the check is executed.
  required: true (unless publish is false)
  type: Integer
  example: "interval": 60

Resolved by #1287.

@nhooey why use a standalone definition at all? Can just define a pubsub check on the client.

@portertech How do I do that, exactly?
I still want a failed check result to be generated when the check result isn't sent within the TTL.

TTL monitoring is done via the Sensu server leader, after a result has been received for a client, with a defined TTL. TTL monitoring is NOT done by the Sensu client.

You could always push a check result to the client socket with a TTL, if that is what you're after.

What if the first check result is never sent by the client, or received by the Sensu server? Then the check's TTL will never be set.
I think it makes sense to be able to define a standalone check with no TTL, but also no interval. This should be done by configuration in the server, not with the first check result sent by the client.

It's essentially a "dead man's switch", it needs to be initiated by the client. Clients are decoupled from the reset of the system via subscriptions, I do not see how another approach makes any sense.

There's still nothing telling the server that it should be expecting a check result within a certain amount of time, unless hopefully the first check result with a defined TTL comes in. If that first check result fails to arrive, then the check will never be defined for that client.
Why do you say that the TTL and check result need to be initiated by the client?

Sensu servers are not directly aware of a client/check pair, until a client registers itself with the client registry, and then the client publishes a check result. We will probably add additional logic to calculate_execution_splay() to guard against this error.

It sounds like there are two issues here, one of which is workflow/training related (how to achieve the desired TTL effect), which isn't an issue with Sensu itself.
However, we should make sure we understand what's causing the Sensu client to crash and address that as a bug.
@portertech should I tag this as a bug fix for 0.26 to guard against publishing standalone checks that are set to "publish":false? It seems like a standalone check definition with "publish":false should never even get to the point where the client is trying to calculate_execution_splay() (although, in that case, a standalone check definition with "publish":false would never be used by Sensu at all as I believe you've noted in your previous comments).

@calebhailey "publish": false is an attribute only applied to pubsub checks. I'll make a minor change to support it in the client standalone scheduler, however, I believe this is more related to documentation and training, a.k.a things do no act as some may assume.

I have a solid alternative fix :+1:


When vl <=OFFSET < VLMAX, does tail element need to be set 0 for vslideup?

As the title. No valid element is changed, do we still need to zero the tail elements?
And can I assume if No valid element(before vl) is changed, tail elements don't need to be zero'd ? an extreme case is vm masks all(no active elements), do we need zero tail elements per our current policy. Thanks

No. Tail zeroing depends only on vl and vstart. It does not depend on the
mask settings (as that would significantly complicate some implementations).
On Wed, Jul 24, 2019 at 8:07 PM wwang0<EMAIL_ADDRESS>wrote:

As the title. No valid element is changed, do we still need to zero the
tail elements?
And can I assume if No valid element(before vl) is changed, tail elements
don't need to be zero'd ? an extreme case is vm masks all(no active
elements), do we need zero tail elements per our current policy. Thanks
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/riscv/riscv-v-spec/issues/263?email_source=notifications&email_token=AAH3XQT7ORGGNPPJJVYS2NLQBEKGLA5CNFSM4IGWO3J2YY3PNVWWK3TUL52HS4DFUVEXG43VMWVGG33NNVSW45C7NFSM4HBL6FBA,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAH3XQT6V7OXLEBFWAXKOPLQBEKGLANCNFSM4IGWO3JQ
.

OK. How about my first question:
"
When vl <=OFFSET < VLMAX, does tail element need to be set 0 for vslideup?
"
Thanks

When vl <= OFFSET < VLMAX, and vl > vstart, we need zero the tail element, and then you will find only tail elements are updated. Is that desired?

When vstart < vl, elements past vl are always zeroed.  These instructions are not unique in that respect.

Thanks. So close it.


Update log-analytics-alerts.md

Fixed a non-working query and updated the example for thresholds in metric measurements.

@jboeshart : Thanks for your contribution to the Azure documentation! The author, @bwren, has been notified to review your proposed change.

@jboeshart Thanks for this.  There were a lot of queries we had to update across the documentation, and obviously I missed testing this one.

#sign-off


Module 3 comments and issues

AWS Workshop issues - Module 3.docx

thanks a lot Assaf. Great feedback


opencv4: 4.1.2 -> 4.3.0

Motivation for this change
Noticed it was out of date.
This still does not work, the build fails with a cryptic linker error that I am unsure how to debug. Figured I'd open this draft and ask the maintainers (cc. @mdaiter @basvandijk) for help.
Things done

[ ] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
Built on platform(s)

[ ] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Ensured that relevant documentation is up to date
[ ] Fits CONTRIBUTING.md.

opencv> Scanning dependencies of target opencv_xphoto
opencv> [ 70%] Building CXX object modules/xphoto/CMakeFiles/opencv_xphoto.dir/src/bm3d_image_denoising.cpp.o
opencv> [ 70%] Building CXX object modules/xphoto/CMakeFiles/opencv_xphoto.dir/src/inpainting.cpp.o
opencv> [ 70%] Building CXX object modules/xphoto/CMakeFiles/opencv_xphoto.dir/src/dct_image_denoising.cpp.o
opencv> [ 71%] Building CXX object modules/xphoto/CMakeFiles/opencv_xphoto.dir/src/learning_based_color_balance.cpp.o
opencv> [ 71%] Building CXX object modules/xphoto/CMakeFiles/opencv_xphoto.dir/src/grayworld_white_balance.cpp.o
opencv> [ 71%] Building CXX object modules/xphoto/CMakeFiles/opencv_xphoto.dir/src/oilpainting.cpp.o
opencv> [ 71%] Linking CXX executable ../../bin/opencv_annotation
opencv> [ 71%] Building CXX object modules/xphoto/CMakeFiles/opencv_xphoto.dir/src/simple_color_balance.cpp.o
opencv> [ 71%] Building CXX object modules/xphoto/CMakeFiles/opencv_xphoto.dir/src/tonemap.cpp.o
opencv> /nix/store/p1y0xl8dp4s1x1vvxxb5sn84wj6lsh8s-binutils-2.31.1/bin/ld: ../../lib/libopencv_imgcodecs.so.4.3.0: undefined reference to `Imf_opencv::Chromaticities::Chromaticities(Imath_2_3::Vec2<float> const&, Imath_2_3::Vec2<float> const&, Imath_2_3::Vec2<float> const&, Imath_2_3::Vec2<float> const&)'
opencv> /nix/store/p1y0xl8dp4s1x1vvxxb5sn84wj6lsh8s-binutils-2.31.1/bin/ld: ../../lib/libopencv_imgcodecs.so.4.3.0: undefined reference to `Imf_opencv::Header::Header(int, int, float, Imath_2_3::Vec2<float> const&, float, Imf_opencv::LineOrder, Imf_opencv::Compression)'
opencv> collect2: error: ld returned 1 exit status
opencv> make[2]: *** [apps/annotation/CMakeFiles/opencv_annotation.dir/build.make:106: bin/opencv_annotation] Error 1
opencv> make[1]: *** [CMakeFiles/Makefile2:5380: apps/annotation/CMakeFiles/opencv_annotation.dir/all] Error 2
opencv> make[1]: *** Waiting for unfinished jobs....
opencv> [ 71%] Linking CXX executable ../../bin/opencv_visualisation
opencv> /nix/store/p1y0xl8dp4s1x1vvxxb5sn84wj6lsh8s-binutils-2.31.1/bin/ld: ../../lib/libopencv_imgcodecs.so.4.3.0: undefined reference to `Imf_opencv::Chromaticities::Chromaticities(Imath_2_3::Vec2<float> const&, Imath_2_3::Vec2<float> const&, Imath_2_3::Vec2<float> const&, Imath_2_3::Vec2<float> const&)'
opencv> /nix/store/p1y0xl8dp4s1x1vvxxb5sn84wj6lsh8s-binutils-2.31.1/bin/ld: ../../lib/libopencv_imgcodecs.so.4.3.0: undefined reference to `Imf_opencv::Header::Header(int, int, float, Imath_2_3::Vec2<float> const&, float, Imf_opencv::LineOrder, Imf_opencv::Compression)'
opencv> collect2: error: ld returned 1 exit status
opencv> make[2]: *** [apps/visualisation/CMakeFiles/opencv_visualisation.dir/build.make:106: bin/opencv_visualisation] Error 1
opencv> make[1]: *** [CMakeFiles/Makefile2:5411: apps/visualisation/CMakeFiles/opencv_visualisation.dir/all] Error 2
opencv> [ 71%] Linking CXX shared library ../../lib/libopencv_bioinspired.so
opencv> [ 71%] Built target opencv_bioinspired
opencv> [ 71%] Linking CXX shared library ../../lib/libopencv_dnn.so
opencv> [ 71%] Built target opencv_dnn
opencv> [ 71%] Linking CXX shared library ../../lib/libopencv_calib3d.so
opencv> [ 71%] Built target opencv_calib3d
opencv> [ 71%] Linking CXX shared library ../../lib/libopencv_xphoto.so
opencv> [ 71%] Built target opencv_xphoto
opencv> make: *** [Makefile:180: all] Error 2
builder for '/nix/store/yx0hv8h3mjfq19z5prm07l8mfvsbd37c-opencv-4.3.0.drv' failed with exit code 2; last 10 log lines:
  make[1]: *** [CMakeFiles/Makefile2:5411: apps/visualisation/CMakeFiles/opencv_visualisation.dir/all] Error 2
  [ 71%] Linking CXX shared library ../../lib/libopencv_bioinspired.so
  [ 71%] Built target opencv_bioinspired
  [ 71%] Linking CXX shared library ../../lib/libopencv_dnn.so
  [ 71%] Built target opencv_dnn
  [ 71%] Linking CXX shared library ../../lib/libopencv_calib3d.so
  [ 71%] Built target opencv_calib3d
  [ 71%] Linking CXX shared library ../../lib/libopencv_xphoto.so
  [ 71%] Built target opencv_xphoto
  make: *** [Makefile:180: all] Error 2
[0 built (1 failed), 0.0 MiB DL]
error: build of '/nix/store/yx0hv8h3mjfq19z5prm07l8mfvsbd37c-opencv-4.3.0.drv' failed

@flokli figured out how to correctly get OpenCV to detect OpenEXR, this is now ready to go!

Can you do a nix-review to see if this introduced any breakages in reverse dependencies?

Can you do a nix-review to see if this introduced any breakages in reverse dependencies?

Running :)

Eh, I don't have enough disk space to build all the reverse dependencies :(

Alright, let's merge this.

Cross-link: https://github.com/NixOS/nixpkgs/pull/86405


Unable to use feature discovery animation libraries on FAB Menu

I am unable to use any of the Feature Discovery Animation libraries like https://github.com/sjwall/MaterialTapTargetPrompt on the FAB Menu.. check below image.. the target id is a bit off the actual button.. please advice..

Any solution?


Authentication failed in Travis build process

@jekyller

i had the same problem i fixed it by doing:
1: get your GH_TOKEN from https://github.com/settings/tokens
2: you need to run the command inside the project directory :
travis encrypt 'GIT_NAME="YOUR_USERNAME" GIT_EMAIL="YOUR_EMAIL" GH_TOKEN=YOUR_TOKEN'
example :
travis encrypt 'GIT_NAME="bhuvnesht26"<EMAIL_ADDRESS>GH_TOKEN=123abc'

the error occured for me because i added a space by mistake in :
GH_TOKEN='space'123abc
make sure there is none.

3: after that copy the output to your .travis.yml.
4: push to github.
i hope this helps.

I had no 'space' but still it didn't work...I dont know why!! :(

I had the same problem and don't think the GH_TOKEN from Travis is working so I had to go to https://github.com/settings/tokens and created a token myself with repo permissions.

I have the same problem:
remote: Invalid username or password.
fatal: Authentication failed for 'https://github.com/eleazarbr/eleazarbr.github.io.git/'
rake aborted!
The personal access token in GitHub says that Never used.
Also used travis encrypt as indicated, updated travis.yml and did push but it falls in

@eleazarbr make use the DESTINATION_BRANCH is named correctly for what you have/need/ See https://github.com/jekyller/jasper2/blob/master/Rakefile#L16

Getting Same Issue right now. I tried almost everything.
Any thing I need to check more please let me know. T.T


chore(main): release 1.0.7

:robot: I have created a release beep boop
1.0.7 (2024-07-12)
Bug Fixes

remove release-created workflow instead as that was the redundant one (5a7e2b1)

This PR was generated with Release Please. See documentation.

:robot: Release is at https://github.com/fenrisdotio/Fenris.OneOfContrib.Blazor/releases/tag/v1.0.7 :sunflower:


Update cryptography.json

Add link to webcrypto-shim.js — project aiming to fix bugs in prefixed webcrypto implementations in IE11 and Safari.

Thanks!


Add reference in docs to DiscoveryQueueMaxStatisticsSize and async-discover api call

Small patch to add some missing documentation.

Sorry there was only one missing reference in the docs. Now fixed.


Translation cluster admin overview in Bahasa Indonesia

This PR addresses #13929

@danninov the asterisks format are still broken, probably you can just remove them if tricky to make them working properly
https://deploy-preview-14156--kubernetes-io-master-staging.netlify.com/id/docs/concepts/cluster-administration/cluster-administration-overview/#perencanaan-kluster

/lgtm
/approve


Removed platformId undefined override in card icon component.

platformId prop was always set to undefined. That caused the fallback Icon not to be set.
The undefined should be in default props but component props have this vale by default it they are not set.

Codecov Report

Merging #248 into master will not change coverage.
The diff coverage is 100%.

@@           Coverage Diff           @@
##           master     #248   +/-   ##
=======================================
  Coverage   83.61%   83.61%
=======================================
  Files          98       98
  Lines        1050     1050
  Branches       98       97    -1
=======================================
  Hits          878      878
  Misses        154      154
  Partials       18       18

Impacted Files
Coverage Δ

src/presentational-components/shared/card-icon.js
50% <100%> (ø)
:arrow_up:

Continue to review full report at Codecov.

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


Create one gRPC Channel per transaction

What is the goal of this PR?
We observed that when using 2 parallel threads to open a large number of transactions, response messages from the server would be intermittently dropped, leading to the client stalling. Creating a separate gRPC Channel for each transaction appears to solve the issue.
What are the changes implemented in this PR?
Create one gRPC Channel per transaction

Note: Do not delete this branch after merging! It is required in order to demonstrate the issue to the gRPC maintainers.

Note: Do not delete this branch after merging! It is required in order to demonstrate the issue to the gRPC maintainers.


[$250] Update "Hold expense" modal copy and icons

Problem
Coming from this long convo, the current "Hold expense" modal copy isn't very informative in terms of how held expenses interact with ongoing report approvals/payments. This leads to user confusion and uncertainty as noted in the thread linked above.
Solution
Update the "Hold expense" modal copy (and icons) to more clearly explain how held expenses interact with ongoing report approvals/payments.
Mocks

Copy

This request is on "hold"
Hold is like hitting “pause” on an expense to ask for more details before approval or payment.

Held expenses are left behind even if you approve an entire report.
Unhold expenses when you’re ready to approve or pay.

Esta solicitud está "retenida"
Retener es como "pausar" un gasto para solicitar más detalles antes de aprobarlo o pagarlo.

Si apruebas un informe, los gastos retenidos se quedan fuera de esa aprobación.
Desbloquea los gastos cuando estés listo para aprobarlos o pagarlos.

Upwork Automation - Do Not Edit

Upwork Job URL: https://www.upwork.com/jobs/~021859310506550140217
Upwork Job ID:<PHONE_NUMBER>550140217
Last Price Increase: 2024-11-20

Issue OwnerCurrent Issue Owner: @parasharrajat

Thinking this can be External maybe?

@jamesdeanexpensify updated the mocks in the issue description real quick to reflect the lowercase hold in the headline.

Not overdue, we're looking at proposals.

Opened up to the community

We want to update the UI to match the mocks shown in the issue.

Yes - have you picked a proposal yet though?

Not overdue, waiting for PR

Hopefully that does the trick

@gijoe0295's proposal looks good to me. Let's try to use FeatureTrainingModal if possible.
🎀 👀 🎀 C+ reviewed

@parasharrajat I think you might need to repost this? It looks like this is when an internal engineer gets assigned.

Here you go: HoldAssets.zip
Part of me thinks the stopwatch illustration might already be in the repo?

Asking internally about your Spanish question.

The icons are at 48x48 in the mockup. Take a look at how these are implemented in other places too like the workspaces empty state:

For your Spanish question, just update this educational modal for now and I'll handle updating everything else. Talking with the team internally, thanks!


Added 2nd example

Added 2nd example by @tseward
https://github.com/MicrosoftDocs/office-docs-powershell/issues/4410
https://github.com/MicrosoftDocs/office-docs-powershell/issues/4409

Docs Build status updates of commit a63a527:
:clock10: Pending: waiting for processors (14 builds ahead of you)
:warning: Docs Build is busy, currently there are 14 builds ahead of this one, for more information you can view the Build queue graph on the Docs Portal.

Docs Build status updates of commit a63a527:
:clock10: Full build: the average full build time is 11 min(s) 47 sec(s), this is based on the last 1000 build(s) for this repository.

Docs Build status updates of commit a63a527:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

sharepoint/sharepoint-ps/sharepoint-server/Set-SPProfileServiceApplicationSecurity.md
:white_check_mark:Succeeded
View (sharepoint-ps)

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.

Docs Build status updates of commit 0dcc715:
:clock10: Full build: the average full build time is 11 min(s) 47 sec(s), this is based on the last 1000 build(s) for this repository.

Docs Build status updates of commit 0dcc715:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

sharepoint/sharepoint-ps/sharepoint-server/Set-SPProfileServiceApplicationSecurity.md
:white_check_mark:Succeeded
View (sharepoint-ps)

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


Can I update the local storage for a domain associated with webpage loaded in an iframe?

If I have index.html running on localhost that loads for example https://www.washingtonpost.com/ in an iframe, can I use this package to set key/value pairs for the local storage of https://www.washingtonpost.com/?
I have been looking for a way to modify the local storage of a 3rd party domain that I load in an iframe and wonder if this possible and if this package might work for me
Thanks,
Courtney

Hi Courtney,
This package is not going to help you I think.
Its use cases are restricted to sites that you control and want to allow getting and setting local storage items.
So for your example if you were in control of https://www.washingtonpost.com/ then you could set up a host with this package, set the domains you want to allow access to, and then use the guest component on the other sites to set / get.


apply affinity zone crash condition --

when the topology is executing
and the affinity is clear
set a block's affinity to default (where default is localhost)

This should not be an issue, the default affinity is the same as "cleared", yet the change causes an abort. Its somewhere located within the block eval cache.

Fixed in worker actor merge. The new implementation handles thread pool swapping: https://github.com/pothosware/pothos/commit/ef454ee821918d5cd82cc717306f6057e065fbb8


Author Template for Innovator Windows Custom VM

This issue tracks the creation of VM customisation scripts to install the items referred to in #97

see #97 for the list of customisations

Baseline template exists - Replacing this with #237

Closing this as it's a dupe


Fixing code snippets and adding links

Description of the change: Adding some downloading links and fixing code snippets
Reason for the change: making code snippets more readable
Link to original source: this file

In reference to issue #3134
@ksigler7 add these important changes

thanks for these changes @PAPERPANKS!

Hello @PAPERPANKS,Thanks again for the PR! It's HACKTOBERFEST! We want to show our appreciation by sending                                              you some special Hacktoberfest swag. If you have not already, could you please fill out                                              this form so we can send it to you? Thanks!                                             Team SendGrid DX


Next.js: styles not working on Native Elements.

At first, thanks for your great work!
I have an Expo/Next.js app.
Next.js
Styles are not applied on the react-native-web elements, but on
s it's working.
Expo
The styles are getting applied (off course
s don't work on native, but e.g., the Text gets styled)
Example Component:
import { Text, View } from "react-native";

export default function App() {
  return (
    <View>
      <Text className="text-red-700 ">Welcome to Expo + Next.js 👋</Text>

This is a div

    </View>
  );
}

Clearly something config related. I played around the whole day.
Any idea?

Hi @Knaackee, we are facing the same issue. How did you solve this?

@Knaackee  I have the same problem, could you share the solution?


Semi-Corrupt world when adding interface to RS network

I attempted to create a Crafting pattern of 2 Fortune I books = 1 Fortune II
I placed it in an Interface with a Crafting Card and External Storage connected (Keep in stock)
This corrupted my world.
I removed the Interface and External Storage using MCEdit
I can load the game and play perfectly fine.
I can place standard blocks (Types of brick etc) in the place where the Interface/External Storage was and remove them perfectly fine.
The moment I place another interface there, all Tile Entities freeze up and refuse to work.
I can continue to move around the world without issue.
I cannot Save/Quit without killing the process.
MC: 1.12.2
Forge:  <IP_ADDRESS>29
RS: <IP_ADDRESS>
Modpack: FTB Revelation 2.2.0 SSP

No entries show up in Debug/latest logs at the time the Interface is placed and breaks the world.
I have tried removing the Controller to rebuild the RS network, both in game, and from MCEdit with no change to the above issue.
World Save:  https://www.dropbox.com/s/n27fgs6vq9yqyrf/2018-07-09-16-44-01.zip?dl=0
This is from after removing the Interface/External Storage.
The problem location is at the location of my player (PiggyWhiskey)
DIM3
Interface:
x: -365, y: 66, z: -237
External Storage:
x: -366, y: 66, z: -237

I'm wondering what I need to do to recover the existing world/save to be playable.
Edit: After some additional testing, only those 2 blocks are causing issues.
I can add/remove from anywhere else on the network without issues.

"<IP_ADDRESS>" is a non existant RS version
Can you check if you have any crash reports or logs?

My mistake, not sure where I got that version number from.

refinedstorage-1.5.34
Thank you :)
After the issue I looked up other issues people had and found your other comments on it.
That fix worked.

Thank you for your help :)
👍


Reduce minor allocations at runspace creation time

PR Summary

Use internal  PSPropertySet() constructor without checks for null and empty property names
Initialize Collection with List which is created with explicit size (reduce re-allocations when add new items).

PR Context
Test script:
measure-Command {
for ($i=0; $i -lt 500; $i++) {
    [runspace] $rs = [runspacefactory]::CreateRunspace()
    $rs.Open()
    $rs.Close()
    if ($null -ne $rs) { $rs.Dispose() }
}
}

Allocations before:

Allocations after:

PR Checklist

[x] PR has a meaningful title

Use the present tense and imperative mood when describing your changes

[x] Summarized changes
[x] Make sure all .h, .cpp, .cs, .ps1 and .psm1 files have the correct copyright header
[ ] This PR is ready to merge and is not Work in Progress.

If the PR is work in progress, please add the prefix WIP: or [ WIP ] to the beginning of the title (the WIP bot will keep its status check at Pending while the prefix is present) and remove the prefix when the PR is ready.

Breaking changes

[x] None
OR
[ ] Experimental feature(s) needed

[ ] Experimental feature name(s):

User-facing changes

[x] Not Applicable
OR
[ ] Documentation needed

[ ] Issue filed:

Testing - New and feature

[ ] N/A or can only be tested interactively
OR
[x] Make sure you've added a new test if existing tests do not effectively test the code changed

Tooling

[ ] I have considered the user experience from a tooling perspective and don't believe tooling will be impacted.
OR
[ ] I have considered the user experience from a tooling perspective and enumerated concerns in the summary. This may include:

Impact on PowerShell Editor Services which is used in the PowerShell extension for VSCode (which runs in a different PS Host).
Impact on Completions (both in the console and in editors) - one of PowerShell's most powerful features.
Impact on PSScriptAnalyzer (which provides linting & formatting in the editor extensions).
Impact on EditorSyntax (which provides syntax highlighting with in VSCode, GitHub, and many other editors).

@daxian-dbw  Can you review?

This optimization has been done by my TypeTable change #10898, which as been merged. This PR can be closed now.


[warning] FileCommand: Can't process .unity3d, caused by info.ata4.unity.asset.AssetException: Unknown asset format 15

Unable to perform extract command, please help...
java -jar disunity.jar extract game.unity3d
[info] DisUnity v0.3.4
[info] game.unity3d
[info] Uncompressing asset bundle, this may take a while
[info] game.unity3d/sharedassets0.assets
[warning] FileCommand: Can't process game.unity3d, caused by info.ata4.unity.asset.AssetException: Unknown asset format 15
at info.ata4.unity.asset.AssetFile.load(AssetFile.java:145)
at info.ata4.unity.cli.cmd.AssetCommand.processAssetBundleFile(AssetCommand.java:141)
at info.ata4.unity.cli.cmd.AssetCommand.processFile(AssetCommand.java:86)
at info.ata4.unity.cli.cmd.FileCommand.processPath(FileCommand.java:58)
at info.ata4.unity.cli.cmd.FileCommand.run(FileCommand.java:76)
at info.ata4.unity.cli.DisUnityCli.run(DisUnityCli.java:110)
at info.ata4.unity.cli.DisUnityCli.main(DisUnityCli.java:123)

This is game  made with Unity 5 version. You must wait the author build the latest version that support extract resources from Unity 5.

I also have the same problem, game was made with Unity 5 engine.
Last update was almost a year ago. I hope that ata is able to make it extract from unity 5 :(

Hi how could we update the sources to add unity 5 support?

:+1:

Btw it looks like @ivanpopelyshev is hard at work on this judging from recent commits. I may try building from source and see how far I can get. There is a very popular card game that recently moved to unity 5 which I'm interested in seeing the textures for!

Well, it works on certain minecraft clone :)
@Kallin do you know how to convert tex do dds, by the way?

@ivanpopelyshev I've never tried, is it a problem?

Please update it to work with Unity 5. Disunity is a great tool that I used often and I am not able to because files are from game made in Unity 5.
Thanks for all the great work so far!


Batch request with one Operation and multiple queries

As mentioned in Batching document, I understand that Hot Chocolate supports sending multiple Operations in a single HTTP Post request.
But does Hot Chocolate support executing multiple queries in a single Operation? like:
query {
  queryA {
    fieldA @export(as: "foo")
  }
  queryB (input: $foo) {
    fieldB
  }
}

However, I executed this query and I get an error saying: "Variable foo is not declared".
I am not sure if it's not supported or a bug.
Thanks guys

No, that is not allowed and would violate the spec. When doing it over HTTP we are preprocessing the queries to make them valid, but this query is getting straight to the GraphQL processor which marks them as invalid.

Operation batching is the closest to what you ask here.

@michaelstaib Thanks. That's the answer I was looking for.
My problem was that my client supports multiple queries in one operation and not operation batching.
https://github.com/graphql/graphql-spec/issues/375 related to what you mentioned.

The problem here is the export directive. Just having multiple root fields in one operation is possible, but each of them is independent from each other.

Closing this issue.


allow all numeric branch names in [githubactionsworkflowstatus]

Closes https://github.com/badges/shields/issues/8720
Lets get a nice easy one out of the way first.
Tbh, I suspect this might be an issue that exists in other places, but I'm not going to shave that yak right this second. Squeaky wheel gets the grease today.

Messages

:book:
:sparkles: Thanks for your contribution to Shields, @chris48s!

  Generated by :no_entry_sign: dangerJS against 776f42a7503fe60d92092d5093fa7f4b6203a000

https://github.com/badges/shields/pull/8738 makes this one irrelevant

no it doesn't. I need to come back to this one.. :facepalm:

rebased this to resolve the conflict and make branch optional, merging
dunno why I thought making the param optional resolved the issue with number-only branch names, aside from: I need to take a few days away from this


⚠ ClamAV has degraded performance

In 29e1fe0, ClamAV (https://spamassassin.apache.org/) experienced degraded performance:

HTTP code: 200
Response time: 70 ms

Resolved: ClamAV performance has improved in 2bac55a.


Mapping source values to destination object keys dynamically

Is it possible to map this:
[
{ condition: 'new', quantity: 5, id: 'x' },
{ condition: 'used', quantity: 3, id: 'y' },
{ condition: 'broken', quantity: 1, id: 'z' }
]
To this:
{
'new': { quantity: 5, id: 'x' },
'used': { quantity: 3, id: 'y' },
'broken': { quantity: 1, id: 'z' }
}
I didn't see any clear examples of mapping a source value to an object key in the destination.
This would be useful, for example, in quickly referencing the 'new' value object by key rather than having to search through the array to find it.
I have been trying to figure this out for the past few hours - any direction would be much appreciated!
Thanks,
Chris

Any update on this??

Is this possible?

Any updates on this?


generated npm-shrinkwrap.json file

This PR connects to #40

LGTM. Would you like to update readme before merge?

Merging.


IP Whitelisting won't work for the API context : //{version}/

Description
Analysis

When API context is webhook/{version}/axp,

Throttling information were sent to TM

TM has notified the correct throttling decision

But GW doesn't apply the throttling decision as the code return null at code

Steps to Reproduce
Steps to reproduce the issue

Create a IP whitelisting policy

Create an API with context with version eg: "webhook/{version}/axp"

Apply created policy to created API

Publish the API

Invoke API from non whitelisted IPs. (eg X-Forwarded-For: )

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

This is not reproducible with the latest code. Hence closing the issue.


Adding prettier config and applying to the repo

Adding a project prettier config so that we can keep our auto-formatting in sync across the developers that work on this repo.
Any suggestions on config changes are welcome. Here is the full list of options: https://prettier.io/docs/en/options.html.
I've applied the config to all files except the ones that I think are actively being worked on right now to avoid unnecessary merge conflicts. If I touched a file that you're working on, please let me know and I will omit it from this commit and we can apply these changes after you're done.
All changes to source code is purely formatting, no logic has changed.

Nice, thanks for setting this up. Since I'm not familiar with how prettier works, on first glance I have a couple questions:

Do we have to do anything to keep prettier compatible with our eslint config? I found this in the docs: https://prettier.io/docs/en/install.html#eslint-and-other-linters
How do I run prettier? Do I need to install it globally, or can we add to it to the dev dependencies or something?

Good questions!

Do we have to do anything to keep prettier compatible with our eslint config? I found this in the docs: https://prettier.io/docs/en/install.html#eslint-and-other-linters

Short answer is no, thanks to whoever set this up previously. We already have eslint-config-prettier in our dependencies and our eslint config incorporating it.
Ref: https://www.robertcooper.me/using-eslint-and-prettier-in-a-typescript-project

How do I run prettier? Do I need to install it globally, or can we add to it to the dev dependencies or something?
I run it via the VSCode extension, you can manually format it via the command pallet or have it auto-format on save. This brings up a good point though, I think it would be nice if we added this to our workspace recommended extensions. I'll update this with that


Does Audio recording work with wine? Or is it just me?

Hi,
I have audio capable cameras and cannot for the life of me get them to work. I managed to work out that the audio plays through the VNC because I heard an alert.
I can connect to the camera through VLC and hear the microphone, but it won't play live or record from within BlueIris? Perhaps I need a codec?
P.s. I can tell that BlueIris can kinda see the audio because when I click Find/Inspect it detects the same audio setting as set on my camera ('G711 A' which comes up as '64kbps G.711 a-law'). This also automatically switches to 'u-law' at the end when I change the camera to 'G711 U' (the only other option)

Further to the above. I have just installed the evaluation version on my wife's laptop and the sound works there. So it isn't a problem with the camera or with blue iris...

Hi, I'm not the developer but am currently trawling through Wine logs looking for GPU related stuff, and some auto-related errors caught my attention:
ALSA lib confmisc.c:767:(parse_card) cannot find card '0'
ALSA lib conf.c:4528:(_snd_config_evaluate) function snd_func_card_driver returned error: No such file or directory
ALSA lib confmisc.c:392:(snd_func_concat) error evaluating strings
ALSA lib conf.c:4528:(_snd_config_evaluate) function snd_func_concat returned error: No such file or directory
ALSA lib confmisc.c:1246:(snd_func_refer) error evaluating name
ALSA lib conf.c:4528:(_snd_config_evaluate) function snd_func_refer returned error: No such file or directory
ALSA lib conf.c:5007:(snd_config_expand) Evaluate error: No such file or directory
ALSA lib pcm.c:2495:(snd_pcm_open_noupdate) Unknown PCM default
ALSA lib confmisc.c:767:(parse_card) cannot find card '0'
ALSA lib conf.c:4528:(_snd_config_evaluate) function snd_func_card_driver returned error: No such file or directory
ALSA lib confmisc.c:392:(snd_func_concat) error evaluating strings
ALSA lib conf.c:4528:(_snd_config_evaluate) function snd_func_concat returned error: No such file or directory
ALSA lib confmisc.c:1246:(snd_func_refer) error evaluating name
ALSA lib conf.c:4528:(_snd_config_evaluate) function snd_func_refer returned error: No such file or directory
ALSA lib conf.c:5007:(snd_config_expand) Evaluate error: No such file or directory
ALSA lib pcm.c:2495:(snd_pcm_open_noupdate) Unknown PCM default

ALSA is: "Advanced Linux Sound Architecture (ALSA) provides audio and MIDI functionality to the Linux operating system"
I wonder if these errors are at all related to your audio not working.
Here's how you can view the same logs:

Change to home directory
cd ~

List the names of the containers.
sudo docker ps

Open a bash shell to the container
docker exec -it <container name>  /bin/bash

Stop blueiris.sh automatically running
mv blueiris.sh blueiris-bak.sh

Connect to VNC and close off Blue Iris's program

Run this command:

WINEDBEUG=+wgl wine prefix32/drive_c/Program\ Files/Blue\ Iris\ 5/BlueIris.exe &> wine.blueiris.log
(Note: Change Blue Iris 5 to Blue Iris 4 if using BI4)
This will start Blue Iris and create a wine.blueiris.log
FYI: I have no idea how to actually solve this problem, but logs are the first step, right :)


Fix transport issues

Closes #76

Please, check the test I added. I am not 100% it is ok, but it is green!


flip state

hi
how do i read the current state of the flip? i want to know which div is currently true and which is currently false.
thanks in advance.

For now you can do $dom.data('fliped'); I will consider to add a method to get the state later.

hi
im getting true from the following.
console.log($("#contact-diamond-card").data('fliped'));
thats sufficient enough i think. thanks!

ok. i see the problem. anyway, the code below works. thanks!

No problems!


Source Maps for CSS and JS

Would absolutely love if source maps could be generated for the CSS and JS files for debugging. More about source maps

Yes, good idea :)

:+1: :point_up:
Leafo/lessphp#531 hasn't been active since may last year, not sure on how much munee is relying on lessphp but less.php seems to be having source map support, and it even has a migration class. In an ideal world one would have both options available :smiley:.

@rubenvincenten Thanks! That would be a rather easy swap-out, actually.  Need to find one for SCSS as well, so we can do sourcemaps for them as well.

To me it seems there's about 3 different pure PHP implementation, leafo has the most up to date compiler at the moment. There's also phpsass which is a fork of phamlp. The original phamlp
What I would do is continue to use scssphp, and for those who seriously need to have source maps, they can either use a file watcher (which can be installed with an app or using Ruby) or use assetic (which in turn, uses the commandline sass tool anyway :smiley: ).
Munee defats the entire purpose of Assetic for me anyway, I really like how easy it is to set up.

Thanks for checking all of that out!
Ya, Assetic makes it way to complicated for casual use.  Munee's aim is to be "set and forget".   To be honest, I don't use Munee anymore in favour of doing pre-processing with either Grunt of Gulp.

How big of a donation would it take to get source maps? Or should I donate to one of the projects munee depends on to get that?

Is there a way to enable Source Line Debugging in Munee?
http://leafo.github.io/scssphp/docs/

You can output the original SCSS line numbers within the compiled CSS file for better frontend debugging.
To activate this feature, call the setLineNumberStyle method after creating a new instance of class Compiler.

@thinsoldier I haven't updated Munee in a very long time.  At this point, it's considered abandonware.  There are far better tools out there these days to accomplish the same things. I would suggest using something like Webpack.

There are far better tools out there these days to accomplish the same things.

Can you suggest a tool for on-the-fly server side image resizing?

https://www.imgix.com/ is pretty awesome although you have to pay for it.  It's pretty cheap, tbh.


Add a space after comma in ${authors}

Thanks for this great add-on!
I think it would make it more readable if ${authors} uses ,  (with a space) as the separator instead of just ,.

Great point; I'm not sure why I didn't have the space before. Should be added now. Thanks!

Also, sorry for my slow reply!


draft RFC - (to be discussed later): Host one Codebase Refinement per quarter in 2022

Proposal
Treat code as a product: One that needs to grow by planning and refinement.
In the same way we collect feedback for product and our people at artsy, we could collect feedback for our code.
We provide feedback to our people every quarter and this helps everyone develop. A similar approach to our code base could further improve the code base and dev experience.
Instead of doing that on a product team level we can address it by which repositories people work on: Those who work mainly on eigen can suggest improvements to eigen, those who work on force can suggest improvements for force and so on.
Once per quarter, and in the same way we do Hackathon, we could dedicate 3 to 4 days for our codebase refinement.
Reasoning

This is a big project that has been going on for more than 10 years. A lot of people have worked on it, different conventions have become popular and everyone has their specific coding style.
So it would be useful to examine a common coding style on a company level.

Plus a lot of the reasoning in Matt's RFC about Hackathon applies:

Excitement: good for morale! People enjoy working on a nicely organised code base, help out their coworkers, and learn new things
Impact: high-impact things happen when we get to dream up projects. Good for the business too!
Innovation: they help us trial new technologies!
Camaraderie: Artsy is mostly remote these days, which has made it hard to build connections across the organization. Refinement give us a forum to connect with people within PDDE and doing them every quarter would mean we have more of these opportunities for connection
Prioritization: Refinement help inform product team priorities and work.
Return on investment: low-lift, high-impact improvements to admin tools and team workflows. While we’re working on addressing these issues within regular PDDE teams, sometimes things slip through the cracks or just don’t get surfaced at the right time! A Refinement process can help keep Artsy running like a well-oiled machine.

Formatting
We could have

A brainstorming meeting
A planning meeting where we select some of the ideas that came up on the brainstorming
Jira boards for each repo where we add everything that has been decided upon
A few days to execute

Additional Context
How is this RFC resolved?
A PR to peril-settings adding the check

There are not enough ❤ emojis that I can give to this RFC. I am so into this!!!!

In the absence of a FE platform and Internal Tools team, I think this is the missing piece i've been looking for 👍 I also suspect people very much like working on this kind of thing (regardless of skill level) so also agree that it'd be great for morale.

This sounds exciting/intriguing! When we were discussing the quarterly hackathon idea, someone raised that we could use the time for other things besides hackathon. So if it achieves similar goals and we're excited about this, perhaps we could use the next hackathon slot to try it out?? (cc @mdole as the DRI 😄)

My one question is: What about Future Friday? Since that occupies a lot of this sort of space. However, I don't think FF is good at generating momentum in the same way that an organized event is, and in general only a few people publicly participate.

Future Friday is great for addressing smaller issues that can be decided by upvoting in some of the dev channels. But with one day every 2 weeks it's not really possible to address what this RFC suggests.

it could be "Gravity: Migrate the Artwork model to Postgres (😅)"
Only this ☝  would already be enough reason for why we need the refine-a-thon and I think almost everyone in engineering thinks that this is urgent and needs to be addressed.
Thanks @mdole for making the RFC more haptic by giving such a great example for what we could do.

I think similar to the hackathon, we should collect ideas beforehand for the refine-a-thon and then form little temporary teams for the projects. We could also create a manifest of code-values before in order to align the goals/outcome of each refine-a-thon... The manifest would define what things like consistency, security, accessibility, good design, expandability etc. mean to us with examples in where it is done well vs. where it still needs to improve.

@mdole I love the name of "Refine-a-thon", thanks! 😄
And I 100% agree that some preliminary work is necessary.
This is why I added a planning session, but something before that would also be nice to have:
We could have a couple of things:
A notion page for each repo where people add things. example
We could also send out an email once per month with a google form questionaire where ask people
which repo or repos they work on and to provide feedback, what they liked, what could be better, things they'd like to add etc, which we could later use to further populate our repo-notion pages.

Love this idea, thanks for raising it. I will try to add some tech debts to the notion board.

After the positive feedback we've started collecting some of the ideas here

## Resolution

After the positive feedback we decided to do this.
We have started collecting some the ideas here, feel free to contribute!
While this RFC proposes one refinement per quarter we haven't finalized the cadence of it.
Level of Support

Overwhelming positive feedback.

Next Steps
We will use the next Hackathon slot (end of June) as a first iteration and by the end of the first refinathon we will discuss outcomes, and decide on the cadence. @patrinoua will be the DRI for these discussions.


Fix lowercase error on default Bool  value of false

After checking out to Websockets master, in Escher, we were getting these error messages as you can see in https://github.com/shashi/Escher.jl/issues/66#issuecomment-134385320.
ERROR (unhandled task failure): MethodError: `lowercase` has no method matching lowercase(::Bool)
 in is_websocket_handshake at /Users/rohitvarkey/.julia/v0.4/WebSockets/src/WebSockets.jl:332
 in on_message_complete at /Users/rohitvarkey/.julia/v0.4/HttpServer/src/HttpServer.jl:358
 in on_message_complete at /Users/rohitvarkey/.julia/v0.4/HttpServer/src/RequestParser.jl:99
 in http_parser_execute at /Users/rohitvarkey/.julia/v0.4/HttpParser/src/HttpParser.jl:106
 in process_client at /Users/rohitvarkey/.julia/v0.4/HttpServer/src/HttpServer.jl:330
 in anonymous at task.jl:447

I've changed the default value to an empty string to prevent this error from happening.

LGTM :+1:

After applying the patch in #37, I've been getting this new error.
ERROR (unhandled task failure): MethodError: `decode` has no method matching decode(::ASCIIString)
 in websocket_handshake at /Users/rohitvarkey/.julia/v0.4/WebSockets/src/WebSockets.jl:304
 in handle at /Users/rohitvarkey/.julia/v0.4/WebSockets/src/WebSockets.jl:324
 in on_message_complete at /Users/rohitvarkey/.julia/v0.4/HttpServer/src/HttpServer.jl:359
 in on_message_complete at /Users/rohitvarkey/.julia/v0.4/HttpServer/src/RequestParser.jl:99
 in http_parser_execute at /Users/rohitvarkey/.julia/v0.4/HttpParser/src/HttpParser.jl:106
 in process_client at /Users/rohitvarkey/.julia/v0.4/HttpServer/src/HttpServer.jl:330
 in anonymous at task.jl:447

From what I made out, decode requires a codec to be passed in as the first argument and the WebSocket implementations is Base64. I've added a fix for that too.


Dispatch additional actions?

So I have been using the middleware in a project that has a spinner that shows whenever a network request is made (and hides when the request is fulfilled). This project also shows an error notification whenever a network request is rejected.
Instead of handling this on a request-by-request basis, I created a second middleware that looks at the type of the action and checks via regex if it is appended with one of the promise types. If it is, then an action is dispatched to tell me that a request is pending or rejected.
For example, if you were to log the types (beware—this is very pseudo), it would look like this:
console.log(action.type) =>
GET_POSTS_PENDING
PENDING
GET_POSTS_FULFILLED
FULFILLED

Or, if rejected:
console.log(action.type) =>
GET_POSTS_PENDING
PENDING
GET_POSTS_REJECTED
REJECTED

I then have a reducer that handles the PENDING, FULFILLED and REJECTED actions. My spinner and error notification components are connected to this reducer.
My thought is this: why have a second middleware handle dispatching these actions? It could be moved into redux-promise-middleware and enabled via a configuration option. The types dispatched would just be the promise types used already, so that could be configured as well. For example:
composeStoreWithMiddleware = applyMiddleware(
  promiseMiddleware({
   requests: true // dispatch additional request actions
  })
)(createStore);

Typically, I would prefer to keep the API of the project minimal, but I think this would be a benefit that many people could use. Spinners and errors are both pretty common UI elements lots of projects use. I'm wondering what the thoughts on this are. cc/ @tomatau

I think I get the reasoning for this, although I haven't gone down this more 'global' path for managing errors or loading state for the app. I tend to keep to local state.
Personally, I think this API addition would be a little bit too unique to implementation details.  Many apps out there could be taking completely different approaches to tackle the same problem. Also, if I was coming fresh into a new project with requests: true, it wouldn't be super obvious that this was making the global loading spinner work correctly -- and visa versa.
So, I tend to favour more compositional approaches, such as the middleware you have described... or even, to be super explicit... having the regex match against action.type performed in a globalState reducer:
const defaultState = { isError: false, isLoading: false };
const globalStateReducer = (state=defaultState, action) => {
   switch (true) {}
    case action.type.match(pending_regex):
      return { ...state, isLoading: true }
    case action.type.match(rejected_regex):
      return { ...state, isError: true }
    default:
      return state;
   }
}

I find this approach more explicit. Although, it requires some synchronisation between the different actionTypeSuffixes and the regex checks.
But overall, happy to let the wider community decide :)

I think you make a good point. :100: I am going to revisit my implementation of this with your suggestion to move the regex into the reducer.


Add collection BIP39 Wordlists - English

any chance you could help me find the 97 matches?

@MillHaus33 any chance you could help me find the 97 matches?


Sat word update

Update all instances of 'sats', 'satoshi' etc. to a unified 'sat' wording as decided in #308. I think I have found them all but I may have missed some. If so just let me know.

super cool! thanks for the PR.
@MoritzKa can you have a look at the text? what do you think: is it OK to use sat everywhere or are some better with Satoshi?

Yes I changed them all to sat for now but we may decide some variation might make sense!

super cool! thanks @secondl1ght

Wooo my first merged PR with Alby!! Thanks :)

yeah, I am also super excited. great to have you with Alby.