Error when ninja is not in PATH (but ninja can be executed by cmake)

Brief Issue Summary
We have a slightly special setup, where we wrap cmake in a wrapper script (via cmake.cmakePath). The wrapper script helps us to isolate certain parts of the build system that should be configured in a specific way. All that is working well, however in recent versions of this extension, we started to get errors of the form:
[proc] The command: ninja --version failed with error: Error: spawn ninja ENOENT
[proc] The command: ninja-build --version failed with error: Error: spawn ninja-build ENOENT
[proc] The command: ninja --version failed with error: Error: spawn ninja ENOENT
[proc] The command: ninja-build --version failed with error: Error: spawn ninja-build ENOENT

Indeed we do not have ninja in the path. When our wrapper script is called with arguments for the build, it will put ninja on the path, so it can be found. But on a plain shell, ninja is not available.
Is that something that can be considered, or worked around?
CMake Tools Diagnostics
{
  "os": "linux",
  "vscodeVersion": "1.92.2",
  "cmtVersion": "1.19.50",
  "configurations": [
    {
      "folder": "/home/memmenlauer/BDA/Src/BDAPipelineProcessing",
      "cmakeVersion": "3.30.2",
      "configured": false,
      "generator": "",
      "usesPresets": false,
      "compilers": {}
    }
  ],
  "cpptoolsIntegration": {
    "isReady": false,
    "hasCodeModel": false,
    "activeBuildType": "",
    "buildTypesSeen": [],
    "requests": [],
    "responses": [],
    "partialMatches": [],
    "targetCount": 0,
    "executablesCount": 0,
    "librariesCount": 0,
    "targets": []
  },
  "settings": [
    {
      "communicationMode": "automatic",
      "useCMakePresets": "auto",
      "configureOnOpen": false
    }
  ]
}

Debug Log
No response
Additional Information
No response

@emmenlau What does this result in? Is it blocking the use of your scenario?
What do you have set for cmake.generator and cmake.preferredGenerators?

@emmenlau Additionally, what version does this start to happen on ?
To investigate, we'd need the version that this started happening on, and then some way to reproduce this, whether it's an example project or detailed repro steps.

@JVApen @emmenlau If you could provide some more information about this issue, that would be great. For example, repro steps to reproduce this, or a small exacmple of a script you're using.
Looking at the code, nothing between version 1.18.44 and 1.19.50 was changed when checking the cmake.exe, so I wouldn't expect that it's causing an issue. Therefore, more investigation may be needed and any repro steps can help with that. Thanks!
Copied from #4037

@emmenlau Could you follow the steps below step-by-step to check if your settings are working? If the problem is still reproduced can you provide us with the exact steps and documentation of the reproduction, it would be very beneficial to our investigation. Thank you!

Check the PATH environment variables
Make sure that the and commands are available in the shell you are using. You can check this by running the following command in the terminal:ninjaninja-build

which ninja
which ninja-build

If these commands do not return a path, the tools may not be installed, or their paths may not have been properly added to the environment variables.PATH

Update path in the environment
If the and tools are installed in a non-standard location, you'll need to make sure that they're set up correctly in your shell environment. You can set this by adding the following line to your wrapper script:ninjaninja-buildPATHPATH

export PATH=/path/to/ninja:$PATH
Make sure to replace with the actual path of ./path/to/ninjaninja

Verify the wrapper script
Check your wrapper script to make sure it has the environment variable set correctly, and that the script does find and when run.PATHninjaninja-build

CMake configure
Confirm that the build tool is configured correctly in the configuration file. You can use the following command to verify that Ninja is set up correctly as a generator:CMake

cmake -G Ninja
This will ensure that CMake knows to use Ninja as a build system.

VSCode configure
The CMake tool diagnostics you mentioned indicate that you're building with VSCode. Make sure that VSCode's CMake is configured correctly and that its environment is consistent with that in the terminal. You can check the path configuration of CMake in VSCode's settings:

Open VSCode's Settings ().settings.json

Make sure that the path in is set correctly.cmake.configureSettings
For example:

json
Copy code
{
  "cmake.configureSettings": {
    "CMAKE_MAKE_PROGRAM": "/path/to/ninja"
  }
}

Dear @Yingzi1234 ,
thanks a lot for your super detailed reply!!!
However, some of the things you are asking is already known. I do not have ninja in the PATH, and I do not want ninja to be in PATH. This is important for my setup, because we choose certain build parameters dynamically, before cmake is invoked. I achieve this with the following steps:

I set cmake.cmakePath in vscode to a script C:\my\wrapper\script\for\cmake.bat.
In this script, we choose certain parameters for cmake dynamically, for example the target environment for the build.
In the same script, based on these parameters, we set up PATH so that it contains the correct build tools, including ninja
Then the script invokes the actual cmake with the parameters

Therefore my answers are:

Check the PATH environment variables

I know that ninja is not in the PATH variable, and I can not add it to the PATH variable, because it depends on parameters that are unknown beforehand.

Update path in the environment

I know that ninja is not in the PATH variable, and I can not add it to the PATH variable, because it depends on parameters that are unknown beforehand.

Verify the wrapper script

The wrapper script works and builds successfully. We use it hundreds of times a day, since many months, on many different platforms and machines.

CMake configure

The build works via the wrapper script, including the cmake configure step.

VSCode configure
The CMake tool diagnostics you mentioned indicate that you're building with VSCode. Make sure that VSCode's CMake is configured correctly and that its environment is consistent with that in the terminal. You can check the path configuration of CMake in VSCode's settings:
Open VSCode's Settings ().settings.json
Make sure that the path in is set correctly.cmake.configureSettings
For example:

json
Copy code
{
  "cmake.configureSettings": {
    "CMAKE_MAKE_PROGRAM": "/path/to/ninja"
  }
}

We do indeed work with VSCode. But we can not set the path to ninja in a hard-coded way. We put ninja on the PATH only in the moment when cmake is executed.

A simple reproducer is something like this:

Set cmake.cmakePath to C:\my\wrapper\script\for\cmake.bat
Create C:\my\wrapper\script\for\cmake.bat with the following content:

@ECHO OFF

REM Change PATH according to certain build parameters, to put the correct tools in PATH.
REM This makes the one or other version of ninja available.
REM Then execute cmake:

C:\path\to\cmake.exe %*

@emmenlau When trying to reproduce with these steps: https://github.com/microsoft/vscode-cmake-tools/issues/4042#issuecomment-2330988663, I notice that the "Bad CMake executable" popup appears in 1.18.44 as well. Do you also see this?

@emmenlau I've tracked the issue down. This didn't come from a CMake Tools update, but rather a VS Code update. In July, VS Code updated to 1.92 which now uses Node 20. This contains a breaking change for spawn, which we weren't aware of.
Could you please test the vsix (after modifying the file extension from .zip to .vsix) from here?
https://github.com/microsoft/vscode-cmake-tools/pull/4044#issue-2507517383

With https://github.com/microsoft/vscode-cmake-tools/issues/4037 out of the way, this small issue remains: I'm still getting the error (or warning):
[driver] Trying to detect generator supported by system
[proc] The command: ninja --version failed with error: Error: spawn ninja ENOENT
[proc] The command: ninja-build --version failed with error: Error: spawn ninja-build ENOENT
[proc] The command: ninja --version failed with error: Error: spawn ninja ENOENT
[proc] The command: ninja-build --version failed with error: Error: spawn ninja-build ENOENT

Aside from that, the build works fine, and I do not know if this error/warning has a high significance? It would be nice if you could check that there is no underlying problem when ninja can not be detected, so basically, make sure that checking for ninja is optional?
Or does cmake-tools need to know about ninja?

@emmenlau That issue is coming from the fact that it's trying to detect a preferred generator, possibly with default preferredgenerators, if you haven't set this setting and you're not using the unspecified kit. Then, it shows this if it can't find it.
However, this can be worked around by setting the cmake.generator setting if you know you'll be using Ninja

However, this can be worked around by setting the cmake.generator setting if you know you'll be using Ninja

That sounds like a very suitable workaround! However I fail to get this to work. I'm setting
"cmake.generator": "Ninja",

in my VSCode user settings, but after closing and re-opening VSCode, the error message persists :-(
Am I doing something wrong?

@emmenlau Ah, I hadn't created the vsix on the most recent code, please re-download the vsix from the PR and try again. THanks!

All issues fixed!!! Great work!!!
Should we close the issues, or do you want to wait for the release of the PR?

They should close when the PR gets merged. Then, @emmenlau @JVApen, you should switch to the pre-release version in order to get the fix approximately one day after the PR merges. Thanks!


python312Packages.pyvmomi: <IP_ADDRESS>.1 -> <IP_ADDRESS>.1

Automatic update generated by nixpkgs-update tools. This update was made based on information from passthru.updateScript.
meta.description for python312Packages.pyvmomi is: Python SDK for the VMware vSphere API that allows you to manage ESX, ESXi, and vCenter
meta.homepage for python312Packages.pyvmomi is: https://github.com/vmware/pyvmomi
meta.changelog for python312Packages.pyvmomi is: https://github.com/vmware/pyvmomi/releases/tag/v<IP_ADDRESS>.1
Updates performed

Ran passthru.UpdateScript

To inspect upstream changes
Impact
Checks done

built on NixOS
The tests defined in passthru.tests, if any, passed
found <IP_ADDRESS>.1 with grep in /nix/store/hagrgapjgipjs802xkq0c0y164xj5awv-python3.12-pyvmomi-<IP_ADDRESS>.1
found <IP_ADDRESS>.1 in filename of file in /nix/store/hagrgapjgipjs802xkq0c0y164xj5awv-python3.12-pyvmomi-<IP_ADDRESS>.1

Rebuild report (if merged into master) (click to expand)

6 total rebuild path(s)

6 package rebuild(s)

First fifty rebuilds by attrpath

cot
python311Packages.cot
python311Packages.pyvmomi
python312Packages.cot
python312Packages.pyvmomi

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/hagrgapjgipjs802xkq0c0y164xj5awv-python3.12-pyvmomi-<IP_ADDRESS>.1 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A python312Packages.pyvmomi https://github.com/r-ryantm/nixpkgs/archive/d1ba7611538c5e1c5903132fe73ebe0b28605842.tar.gz

Or:
nix build github:r-ryantm/nixpkgs/d1ba7611538c5e1c5903132fe73ebe0b28605842#python312Packages.pyvmomi

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/hagrgapjgipjs802xkq0c0y164xj5awv-python3.12-pyvmomi-<IP_ADDRESS>.1
ls -la /nix/store/hagrgapjgipjs802xkq0c0y164xj5awv-python3.12-pyvmomi-<IP_ADDRESS>.1/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
Result of nixpkgs-review run on x86_64-linux 1

2 packages failed to build:

cot (python312Packages.cot)
cot.dist (python312Packages.cot.dist)

6 packages built:

python311Packages.cot
python311Packages.cot.dist
python311Packages.pyvmomi
python311Packages.pyvmomi.dist
python312Packages.pyvmomi
python312Packages.pyvmomi.dist

Maintainer pings

cot is broken on hydra https://hydra.nixos.org/build/266361711


Creating an OpenCvWindowCalculator

Hi there,
Working with graphs I often find myself using AddOutputStreamPollers however my video capture loop will get stuck whenever the calculator has nothing to output to this stream.
As far as I can see this leaves me only a few options:

Keep my C++ to a minimum and use/create Calculators instead: Mediapipe scheduling will take care of polling streams in dedicated threads.
Output empty packets to such streams and handle these in calculators and my main loop.

When rendering to an OpenCV window however the output frame polling is so far the only option. So here I'm asking your help writing a calculator that does just this: take a rendered cv::Mat input stream and display each of its packet in a named window:

Details
#include <memory>
#include <string>
#include <vector>

#include "mediapipe/calculators/video/opencv_video_encoder_calculator.pb.h"
#include "mediapipe/framework/calculator_framework.h"
#include "mediapipe/framework/formats/image_frame.h"
#include "mediapipe/framework/formats/image_frame_opencv.h"
#include "mediapipe/framework/formats/video_stream_header.h"
#include "mediapipe/framework/port/file_helpers.h"
#include "mediapipe/framework/port/opencv_highgui_inc.h"
#include "mediapipe/framework/port/opencv_imgproc_inc.h"
#include "mediapipe/framework/port/opencv_video_inc.h"
#include "mediapipe/framework/port/ret_check.h"
#include "mediapipe/framework/port/source_location.h"
#include "mediapipe/framework/port/status.h"
#include "mediapipe/framework/port/status_builder.h"
#include "mediapipe/framework/tool/status_util.h"

#if !defined(MEDIAPIPE_DISABLE_GPU)
#include "mediapipe/gpu/gl_calculator_helper.h"
#include "mediapipe/gpu/gl_simple_shaders.h"
#include "mediapipe/gpu/gpu_buffer.h"
#include "mediapipe/gpu/shader_util.h"
#endif  //  !MEDIAPIPE_DISABLE_GPU

namespace mediapipe {

// Example config to output rendered frames to some window:
//
// node {
//   calculator: "AnnotationOverlayCalculator"
//   input_stream: "INPUT_FRAME_GPU:input_frame"
//   input_stream: "some_rect_render_data"
//   output_stream: "OUTPUT_FRAME_GPU:output_frame"
// }
// node {
//   calculator: "OpenCvWindowCalculator"
//   input_stream: "output_frame"
//   output_stream: "output_frame_did_show"
// }
class OpenCvWindowCalculator : public CalculatorBase {
 public:
  static ::mediapipe::Status GetContract(CalculatorContract* cc);
  ::mediapipe::Status Open(CalculatorContext* cc) override;
  ::mediapipe::Status Process(CalculatorContext* cc) override;
  ::mediapipe::Status Close(CalculatorContext* cc) override;

 private:
  std::string name_;
#if !defined(MEDIAPIPE_DISABLE_GPU)
  // bool gpu_initialized_ = false;
  mediapipe::GlCalculatorHelper gpu_helper_;
#endif  // MEDIAPIPE_DISABLE_GPU
};
REGISTER_CALCULATOR(OpenCvWindowCalculator);

::mediapipe::Status OpenCvWindowCalculator::GetContract(
    CalculatorContract* cc) {
  RET_CHECK_EQ(cc->Inputs().NumEntries(), 1);
  RET_CHECK_EQ(cc->Outputs().NumEntries(), 1);
#if !defined(MEDIAPIPE_DISABLE_GPU)
  cc->Inputs().Index(0).Set<mediapipe::GpuBuffer>();
#else
  cc->Inputs().Index(0).Set<mediapipe::ImageFrame>();
#endif
  cc->Outputs().Index(0).Set<bool>();
  return ::mediapipe::OkStatus();
}

::mediapipe::Status OpenCvWindowCalculator::Open(CalculatorContext* cc) {
#if !defined(MEDIAPIPE_DISABLE_GPU)
  MP_RETURN_IF_ERROR(gpu_helper_.Open(cc));
#endif  //  !MEDIAPIPE_DISABLE_GPU

  name_ = "Some window";
  cv::namedWindow(name_, /*flags=WINDOW_AUTOSIZE*/ 1);
  return ::mediapipe::OkStatus();
}

::mediapipe::Status OpenCvWindowCalculator::Close(CalculatorContext* cc) {
  return ::mediapipe::OkStatus();
}

::mediapipe::Status OpenCvWindowCalculator::Process(CalculatorContext* cc) {
#if !defined(MEDIAPIPE_DISABLE_GPU)
  std::unique_ptr<mediapipe::ImageFrame> output_frame;
  MP_RETURN_IF_ERROR(gpu_helper_.RunInGlContext(
      [&packet, &output_frame, this]() -> ::mediapipe::Status {
        auto& gpu_frame = packet.Get<mediapipe::GpuBuffer>();
        auto texture = gpu_helper_.CreateSourceTexture(gpu_frame);
        output_frame = absl::make_unique<mediapipe::ImageFrame>(
            mediapipe::ImageFormatForGpuBufferFormat(gpu_frame.format()),
            gpu_frame.width(), gpu_frame.height(),
            mediapipe::ImageFrame::kGlDefaultAlignmentBoundary);
        gpu_helper_.BindFramebuffer(texture);
        const auto info =
            mediapipe::GlTextureInfoForGpuBufferFormat(gpu_frame.format(), 0);
        glReadPixels(0, 0, texture.width(), texture.height(), info.gl_format,
                     info.gl_type, output_frame->MutablePixelData());
        glFlush();
        texture.Release();
        return ::mediapipe::OkStatus();
      }));
  cv::Mat ofmat = mediapipe::formats::MatView(output_frame.get());
  cv::cvtColor(ofmat, ofmat, cv::COLOR_RGB2BGR);
#else  //  !MEDIAPIPE_DISABLE_GPU
  auto& output_frame = packet.Get<mediapipe::ImageFrame>();
  cv::Mat ofmat = mediapipe::formats::MatView(&output_frame);
  cv::cvtColor(ofmat, ofmat, cv::COLOR_RGB2BGR);
#endif

  cv::imshow(name_, ofmat);
  const int pressed_key = cv::waitKey(1);
  cc->Outputs().Index(0).Add(new bool(true), cc->InputTimestamp());

  return ::mediapipe::OkStatus();
}

}  // namespace mediapipe

This crashes in ::Open() on GPU with

F1112 17:50:38.611050 30327 calculator_state.h:116] Check failed: it != service_packets_.end()

It kind of works on CPU but one needs to set an output packet, polled in ones' main loop, so that the window is shown during the processing and not afterwards.
Is there a way to do this without having to poll for this output packet? Is there an API to inform the scheduler that this calculator accepted the output_frame packet and did some side effects with it, but without packets?
Should I be using an ImmediateInputStreamHandler? This didn't seem to help.
I also tried giving my calculator's output packet to a topmost flow limiter but timestamps seem wrong:

Calculator::Process() for node "[FlowLimiterCalculator, FlowLimiterCalculator with output stream: input_frame_throttled]" failed: ; Received a FINISHED packet, but we had none in flight.

Hi,
It's a subtle property of calculators, but
Calculators that register  Outputs() streams  in GetContract are expected to output packets, and a poller is then needed (or some registered callback) to consume the packets.
Calculators that do not register an Output packet stream, such as the video encoder calculator, are considered 'sink' calculators, and no poller is required, and should not be registered with the graph runner.
Your calculator looks like it can take advantage of being converted to a 'sink' calculator by removing all the Output() stream references, and just return OkStatus() in the Process call as usual.
For the graph & graph runner you have a few options:

us the simple graph runner and a graph similar to this one (using opencv video decoder), and replace the encoder calculator with your imshow calculator
modify the live webcam demo graph runner to not use a packet poller .

I hope this points you in the right direction

@fenollp Can you share the code you are using to run this graph that uses this calculator?
It seems like you need to poll for packets from the output stream of this calculator at every frame and that should work (if you decide not to make this a sink calculator as described above).

Thanks! Turning this calculator into a sink did fix the polling issue. My bad for not having read enough of the docs.
Any idea how I can fix the GPU helper initialization error I get in ::Open(cc)?

F1112 17:50:38.611050 30327 calculator_state.h:116] Check failed: it != service_packets_.end()

Are there some more set up to do or a specific lib to link against?
This could also be useful for your OpenCvVideoEncoderCalculator.

Can you share a more detailed log? Use GLOG_v=2 to enable verbose logging. Thanks.

@eknight7 Here's the last lines with the setting you provided:
I1127 12:45:52.690436 15149 output_stream_manager.cc:169] Output stream: hand_landmarks_render_data__2 next timestamp: Timestamp::PreStream()
I1127 12:45:52.690491 15154 calculator_node.cc:427] CalculatorNode::OpenNode() for [ConcatenateNormalizedRectVectorCalculator, ConcatenateNormalizedRectVectorCalculator with output stream: hand_rects]
I1127 12:45:52.690475 15152 scheduler.cc:339] Scheduling OpenNode of calculator [LandmarksToRenderDataCalculator_6, LandmarksToRenderDataCalculator with output stream: hand_landmarks_render_data__5]
I1127 12:45:52.690497 15148 packet.h:487] Using copy assignment operator of mediapipe::Packet with timestamp: Timestamp::Unset() and no data
I1127 12:45:52.690498 15154 packet.h:487] Using copy assignment operator of mediapipe::Packet with timestamp: Timestamp::Unset() and no data
I1127 12:45:52.690506 15152 calculator_node.cc:427] CalculatorNode::OpenNode() for [LandmarksToRenderDataCalculator_6, LandmarksToRenderDataCalculator with output stream: hand_landmarks_render_data__5]
I1127 12:45:52.690363 15147 packet.h:487] Using copy assignment operator of mediapipe::Packet with timestamp: Timestamp::Unset() and no data
I1127 12:45:52.690523 15152 packet.h:487] Using copy assignment operator of mediapipe::Packet with timestamp: Timestamp::Unset() and no data
I1127 12:45:52.690522 15150 output_stream_manager.cc:167] Output stream: hand_landmarks_render_data__3 queue size: 0
I1127 12:45:52.690548 15147 output_stream_manager.cc:167] Output stream: hand_detections queue size: 0
I1127 12:45:52.690551 15150 output_stream_manager.cc:169] Output stream: hand_landmarks_render_data__3 next timestamp: Timestamp::PreStream()
I1127 12:45:52.690553 15147 output_stream_manager.cc:169] Output stream: hand_detections next timestamp: Timestamp::PreStream()
I1127 12:45:52.690559 15147 packet.h:487] Using copy assignment operator of mediapipe::Packet with timestamp: Timestamp::Unset() and no data
I1127 12:45:52.690570 15148 output_stream_manager.cc:167] Output stream: hand_landmarks_render_data__4 queue size: 0
I1127 12:45:52.690572 15147 scheduler.cc:339] Scheduling OpenNode of calculator [DetectionsToRenderDataCalculator_2, DetectionsToRenderDataCalculator with output stream: hand_detections_render_data]
I1127 12:45:52.690578 15148 output_stream_manager.cc:169] Output stream: hand_landmarks_render_data__4 next timestamp: Timestamp::PreStream()
I1127 12:45:52.690582 15147 packet.h:487] Using copy assignment operator of mediapipe::Packet with timestamp: Timestamp::Unset() and no data
I1127 12:45:52.690518 15154 packet.h:487] Using copy assignment operator of mediapipe::Packet with timestamp: Timestamp::Unset() and no data
I1127 12:45:52.690596 15148 calculator_node.cc:427] CalculatorNode::OpenNode() for [DetectionsToRenderDataCalculator_2, DetectionsToRenderDataCalculator with output stream: hand_detections_render_data]
I1127 12:45:52.690613 15148 packet.h:487] Using copy assignment operator of mediapipe::Packet with timestamp: Timestamp::Unset() and no data
I1127 12:45:52.690614 15154 packet.h:487] Using copy assignment operator of mediapipe::Packet with timestamp: Timestamp::Unset() and no data
I1127 12:45:52.690630 15148 output_stream_manager.cc:167] Output stream: hand_detections_render_data queue size: 0
I1127 12:45:52.690634 15148 output_stream_manager.cc:169] Output stream: hand_detections_render_data next timestamp: Timestamp::PreStream()
I1127 12:45:52.690642 15148 packet.h:487] Using copy assignment operator of mediapipe::Packet with timestamp: Timestamp::Unset() and no data
I1127 12:45:52.690652 15152 output_stream_manager.cc:167] Output stream: hand_landmarks_render_data__5 queue size: 0
I1127 12:45:52.690656 15148 scheduler.cc:339] Scheduling OpenNode of calculator [AnnotationOverlayCalculator, AnnotationOverlayCalculator with output stream: output_frame]
I1127 12:45:52.690659 15152 output_stream_manager.cc:169] Output stream: hand_landmarks_render_data__5 next timestamp: Timestamp::PreStream()
I1127 12:45:52.690672 15154 output_stream_manager.cc:167] Output stream: hand_rects queue size: 0
I1127 12:45:52.690676 15154 output_stream_manager.cc:169] Output stream: hand_rects next timestamp: Timestamp::PreStream()
I1127 12:45:52.690680 15154 packet.h:487] Using copy assignment operator of mediapipe::Packet with timestamp: Timestamp::Unset() and no data
I1127 12:45:52.690688 15154 scheduler.cc:339] Scheduling OpenNode of calculator [RectToRenderDataCalculator_3, RectToRenderDataCalculator with output stream: hand_rects_render_data]
I1127 12:45:52.690697 15154 packet.h:487] Using copy assignment operator of mediapipe::Packet with timestamp: Timestamp::Unset() and no data
I1127 12:45:52.690714 15151 calculator_node.cc:427] CalculatorNode::OpenNode() for [RectToRenderDataCalculator_3, RectToRenderDataCalculator with output stream: hand_rects_render_data]
I1127 12:45:52.690719 15151 packet.h:487] Using copy assignment operator of mediapipe::Packet with timestamp: Timestamp::Unset() and no data
I1127 12:45:52.690742 15151 output_stream_manager.cc:167] Output stream: hand_rects_render_data queue size: 0
I1127 12:45:52.690748 15151 output_stream_manager.cc:169] Output stream: hand_rects_render_data next timestamp: Timestamp::PreStream()
I1127 12:45:52.690753 15151 scheduler.cc:453] active queues: 1
I1127 12:45:52.691661 15156 packet.h:593] Using move constructor of mediapipe::Packet with timestamp: 0 and type: std::vector<tflite::gpu::gl::GlBuffer, std::allocator<tflite::gpu::gl::GlBuffer> >
I1127 12:45:52.691681 15156 packet.h:593] Using move constructor of mediapipe::Packet with timestamp: 0 and type: std::vector<tflite::gpu::gl::GlBuffer, std::allocator<tflite::gpu::gl::GlBuffer> >
I1127 12:45:52.691692 15156 output_stream_manager.cc:167] Output stream: __sg1_image_tensor queue size: 1
I1127 12:45:52.691695 15156 output_stream_manager.cc:169] Output stream: __sg1_image_tensor next timestamp: 1
I1127 12:45:52.691700 15156 input_stream_manager.cc:155] Input stream:__sg1_image_tensor has added packet at time: 0
I1127 12:45:52.691704 15156 packet.h:593] Using move constructor of mediapipe::Packet with timestamp: 0 and type: std::vector<tflite::gpu::gl::GlBuffer, std::allocator<tflite::gpu::gl::GlBuffer> >
I1127 12:45:52.691707 15156 input_stream_manager.cc:169] Input stream:__sg1_image_tensor becomes non-empty status:1 Size: 1
I1127 12:45:52.691712 15156 input_stream_manager.cc:378] Input stream removed packets:__sg1_image_tensor Size:1
I1127 12:45:52.691715 15156 input_stream_manager.cc:378] Input stream removed packets:__sg1_image_tensor Size:1
I1127 12:45:52.691720 15156 input_stream_manager.cc:255] Input stream __sg1_image_tensor selecting at timestamp:0 next timestamp bound: 1
I1127 12:45:52.691722 15156 packet.h:600] Using move assignment operator of mediapipe::Packet with timestamp: 0 and type: std::vector<tflite::gpu::gl::GlBuffer, std::allocator<tflite::gpu::gl::GlBuffer> >
I1127 12:45:52.691728 15156 input_stream_manager.cc:278] Input stream removed packets:__sg1_image_tensor Size:0
I1127 12:45:52.691732 15156 packet.h:593] Using move constructor of mediapipe::Packet with timestamp: 0 and type: std::vector<tflite::gpu::gl::GlBuffer, std::allocator<tflite::gpu::gl::GlBuffer> >
I1127 12:45:52.691740 15156 input_stream_manager.cc:378] Input stream removed packets:__sg1_image_tensor Size:0
I1127 12:45:52.691747 15156 input_stream_manager.cc:378] Input stream removed packets:__sg1_transformed_input_video Size:0
I1127 12:45:52.691752 15156 calculator_node.cc:427] CalculatorNode::OpenNode() for [AnnotationOverlayCalculator, AnnotationOverlayCalculator with output stream: output_frame]
I1127 12:45:52.691756 15156 packet.h:487] Using copy assignment operator of mediapipe::Packet with timestamp: Timestamp::Unset() and no data
I1127 12:45:52.691759 15156 packet.h:487] Using copy assignment operator of mediapipe::Packet with timestamp: Timestamp::Unset() and no data
I1127 12:45:52.691762 15156 packet.h:487] Using copy assignment operator of mediapipe::Packet with timestamp: Timestamp::Unset() and no data
I1127 12:45:52.691764 15156 packet.h:487] Using copy assignment operator of mediapipe::Packet with timestamp: Timestamp::Unset() and no data
I1127 12:45:52.691776 15156 output_stream_manager.cc:167] Output stream: output_frame queue size: 0
I1127 12:45:52.691781 15156 output_stream_manager.cc:169] Output stream: output_frame next timestamp: Timestamp::PreStream()
I1127 12:45:52.691783 15156 packet.h:487] Using copy assignment operator of mediapipe::Packet with timestamp: Timestamp::Unset() and no data
I1127 12:45:52.691787 15156 scheduler.cc:339] Scheduling OpenNode of calculator [OpenCvWindowCalculator, OpenCvWindowCalculator with node ID: 60 and input stream: <output_frame>]
I1127 12:45:52.691792 15156 scheduler.cc:453] active queues: 2
I1127 12:45:52.691800 15156 calculator_node.cc:807] Calling Calculator::Process() for node: [TfLiteInferenceCalculator_1, TfLiteInferenceCalculator with output stream: __sg1_detection_tensors]
I1127 12:45:52.691802 15149 calculator_node.cc:427] CalculatorNode::OpenNode() for [OpenCvWindowCalculator, OpenCvWindowCalculator with node ID: 60 and input stream: <output_frame>]
I1127 12:45:52.691812 15149 packet.h:487] Using copy assignment operator of mediapipe::Packet with timestamp: Timestamp::Unset() and no data
F1127 12:45:52.691817 15149 calculator_state.h:116] Check failed: it != service_packets_.end()
*** Check failure stack trace: ***

Do I need to register a "service packet"?

Could this be crashing because my calculator is trying to access a GPU frame that belongs to another GPU helper?

I believe you are missing the gpu helper initialization. Please add this in GetContract
 MP_RETURN_IF_ERROR(mediapipe::GlCalculatorHelper::UpdateContract(cc));

That was it!
I should have gone through more GPU calculators (it seems this call is missing from the OpenCV enc/dec calculators).
Thanks!


Introduce updateOperation function to reconciliation.Repository to avoid multiple small updates

Description
Currently, in the HTTP endpoint are many small update operations executed when finishing an operation. To improve the execution time and to reduce amount of DB calls, all these small update-calls should be bundled to one call.
See https://github.com/kyma-incubator/reconciler/pull/840/files#diff-69a27ab3e82896ad31ecd173de047c6f6c16015856b3b61a73d6d5de0ce2947cR858-R879 => all these updates could be bundled after supporting a reconciliation.UpdateOperation(*model.OperationEntity) function.
Reasons
Reduce amount of small DB queries.
Attachments

Functionalities of the Reconciler were migrated to the new architecture, this issue will not be worked on.


QR Code API defunct

Describe the bug
QR Code can’t be inserted since google API throws a 404 Error
To Reproduce
Steps to reproduce the behavior:

Go to ‚insert‘
Click on 'Insert QR'
See error

Expected behavior
QR Code of given text should appear
Solution
src/Modules/ModuleQRCodes.bas
Needs update with a new API
proposed solution:
https://github.com/pascal-mw/Instrumenta/blob/9a8f1a2508d5eb374bb050a9d4dc25bdeffe37be/src/Modules/ModuleQRCodes.bas
would have created a pull request but those are not for non-contributors.
cheers!

Thanks! Will update this as well.

Fixed in latest beta.


Move TagContext serialization classes into io.opencensus.tags.propagation.

Closes #641.

Codecov Report

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

@@            Coverage Diff            @@
##             master     #652   +/-   ##
=========================================
  Coverage     76.61%   76.61%
  Complexity      718      718
=========================================
  Files           131      131
  Lines          3451     3451
  Branches        323      323
=========================================
  Hits           2644     2644
  Misses          744      744
  Partials         63       63

Impacted Files
Coverage Δ
Complexity Δ

...s/tags/propagation/TagContextBinarySerializer.java
100% <ø> (ø)
1 <0> (?)

...gs/propagation/TagContextBinarySerializerImpl.java
100% <ø> (ø)
3 <0> (?)

...nsus/tags/propagation/TagPropagationComponent.java
100% <ø> (ø)
1 <0> (?)

...pencensus/implcore/tags/TagsComponentImplBase.java
100% <ø> (ø)
3 <0> (ø)
:arrow_down:

core/src/main/java/io/opencensus/tags/Tags.java
93.33% <ø> (ø)
4 <0> (ø)
:arrow_down:

...rc/main/java/io/opencensus/tags/TagsComponent.java
100% <ø> (ø)
1 <0> (ø)
:arrow_down:

.../implcore/tags/propagation/SerializationUtils.java
94.64% <ø> (ø)
13 <0> (?)

...sus/tags/propagation/TagContextParseException.java
100% <ø> (ø)
2 <0> (?)

...ore/src/main/java/io/opencensus/tags/NoopTags.java
87.87% <ø> (ø)
6 <0> (ø)
:arrow_down:

.../tags/propagation/TagPropagationComponentImpl.java
66.66% <ø> (ø)
1 <0> (?)

... and 1 more

Continue to review full report at Codecov.

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

Coverage remained the same at 78.441% when pulling 77d2d79dd072d1e60f16946f97d8dbe03f4c6073 on sebright:propagation-package into 428ac6f0b1c0c0218224434aa12945f758cde302 on census-instrumentation:master.

Coverage remained the same at 78.336% when pulling<PHONE_NUMBER>8c07094d8c2e43d214cd4e0ca3a1a6 on sebright:propagation-package into 2a3ca5e37439455bb921b0550fb67b3f5fdeda6f on census-instrumentation:master.


Where is v0.0.8 ?

Hi @survivorbat
I just started using this package and was going to provide a PR improvement for some many2many relation stuff.
However I appear to be using v0.0.8 but I can't actually find that tag / the code in this repo?
Can you offer some help? :)

Hey @addshore! Thanks for showing interest in the development. I was actually quite stumped when I read your issue because I forgot where v0.0.8 came from as well.
v0.0.8 and all the versions in between were draft/pre-release versions that incorporated the feature that is now gorm-like but were later abandoned in favor of a separate plugin. It appears my own projects are also using this ghost version. I don't recall why I turned them into tags, rather than just using the git hashes.
I suppose this would be rectified with a new tag on master like v0.0.9, although I'd prefer (finally) releasing v1.0.0 to justify a breaking change removing this abandoned code.
Hope that clears up the confusion, the intended state of the library should be the master branch. I'll delete the 2 branches with this unfinished code asap :)

Hehe, nothing like coming back to a project after a year.
The patch I wrote is https://github.com/addshore/gorm-deep-filtering/commit/1f34f64d390d22ad6cdd692054a6dc63be4f1397 and is actually for the functionality on the feature/improve-like branch
But it sounds like you might be getting rid of that functionality? (personally I quite like it ;))

Lovely, I'll take a look and try to transfer over :)
Might be worth noting that one in the README too :)

well, that was easy...
-       deepgorm "github.com/survivorbat/gorm-deep-filtering"
+       gormlike "github.com/survivorbat/gorm-like"

-       DB.Use(deepgorm.New(deepgorm.Wildcards()))
+       DB.Use(gormlike.New(gormlike.WithCharacter("*")))

No other changes needed

I do intend to remove the functionality from deepgorm, gormlike should be enough. But that would be v1.0.0 ;)

Hey @addshore! A bit unrelated, but will you merge your improvements to master? I think it'd make a great addition

https://github.com/survivorbat/gorm-deep-filtering/pull/3


feat/add linux arm64 support

linux: add arm64 support
MNT: Re-rendered with conda-build 3.23.3, conda-smithy 3.23.0, and conda-forge-pinning 2<IP_ADDRESS>.32.19

Checklist

[x] Used a personal fork of the feedstock to propose changes
[x] Bumped the build number (if the version is unchanged)
[ ] Reset the build number to 0 (if the version changed)
[x] Re-rendered with the latest conda-smithy (Use the phrase @conda-forge-admin, please rerender in a comment in this PR for automated rerendering)
[x] Ensured the license file is being packaged.

This is needed for conda-forge/bpython which is needed conda-forge/scrapy-feedstock to be able to provide linux/arm64 builds.


add image viewer to docker image to display output for some of the examples

To see the bounding box (given as four coordinates) start PostGIS Terminal http://labs.geometa.info/postgisterminal and insert this:
SELECT ST_AsText(ST_Transform(ST_MakeEnvelope(8.795611, 46.872886, 9.674135, 47.675419, 4326), 3857)) AS geom, 'My Area' AS label


stylebot doesn't work in rtl sites

The  Editor will not open on any rtl site . It opens on ltr site , but not rtl
Steps to reproduce the behavior:

go to any site and  add " direction: rtl; " to the body  '
Open the extension
Click open Stylebot

Expected behavior
I would expect the editor to open so I could use it but it doesn't open
Additional context
when i right click in the site and click on inspect and change the body style form " direction: rtl; " to " direction: ltr; " it works

this is problem:
https://user-images.githubusercontent.com/174688/143791589-2770c32a-4c16-4535-9538-640d8b224236.mp4


Order and cleanup OPSEC section

Prettifying @maraoz section to keep it in line with the repo's format.

OMG I'm the worst! Thanks @tinchoabbate !!


[tool_crash] ProcessException: The system cannot find the file specified. Command: C:\src\flutter\bin\cache\dart-sdk\bin\pub.bat, OS error code: 2

Command
flutter doctor

Steps to Reproduce

...
...
...

Logs
ProcessException: The system cannot find the file specified.
Command: C:\src\flutter\bin\cache\dart-sdk\bin\pub.bat, OS error code: 2
#0      _ProcessImpl._start (dart:io-patch/process_patch.dart:390:33)
#1      Process.start (dart:io-patch/process_patch.dart:36:20)
#2      LocalProcessManager.start (package:process/src/interface/local_process_manager.dart:39:20)
#3      ErrorHandlingProcessManager.start.<anonymous closure> (package:flutter_tools/src/base/error_handling_io.dart:638:33)
#4      _run (package:flutter_tools/src/base/error_handling_io.dart:532:20)
#5      ErrorHandlingProcessManager.start (package:flutter_tools/src/base/error_handling_io.dart:638:12)
#6      _DefaultProcessUtils.start (package:flutter_tools/src/base/process.dart:472:28)
#7      _DefaultProcessUtils.stream (package:flutter_tools/src/base/process.dart:491:35)
#8      _DefaultPub.batch (package:flutter_tools/src/dart/pub.dart:282:34)
<asynchronous suspension>
#9      _DefaultPub.get (package:flutter_tools/src/dart/pub.dart:222:7)
<asynchronous suspension>
#10     PubDependencies.update (package:flutter_tools/src/cache.dart:774:5)
<asynchronous suspension>
#11     Cache.updateAll (package:flutter_tools/src/cache.dart:562:9)
<asynchronous suspension>
#12     FlutterCommand.verifyThenRunCommand (package:flutter_tools/src/runner/flutter_command.dart:1109:7)
<asynchronous suspension>
#13     FlutterCommand.run.<anonymous closure> (package:flutter_tools/src/runner/flutter_command.dart:1009:27)
<asynchronous suspension>
#14     AppContext.run.<anonymous closure> (package:flutter_tools/src/base/context.dart:150:19)
<asynchronous suspension>
#15     AppContext.run (package:flutter_tools/src/base/context.dart:149:12)
<asynchronous suspension>
#16     CommandRunner.runCommand (package:args/command_runner.dart:197:13)

[✓] Flutter (Channel stable, 2.0.5, on Microsoft Windows [Version 10.0.18362.30], locale en-IN)
    • Flutter version 2.0.5 at C:\src\flutter
    • Framework revision adc687823a (8 days ago), 2021-04-16 09:40:20 -0700
    • Engine revision b09f014e96
    • Dart version 2.12.3

[!] Android toolchain - develop for Android devices (Android SDK version 28.0.3)
    • Android SDK at F:\Android_SDK
    • Platform android-29, build-tools 28.0.3
    • ANDROID_HOME = F:\Android_SDK
    • Java binary at: C:\Program Files\Android\Android Studio\jre\bin\java
    • Java version OpenJDK Runtime Environment (build 1.8.0_152-release-1343-b01)
    ✗ Android license status unknown.
      Run `flutter doctor --android-licenses` to accept the SDK licenses.
      See https://flutter.dev/docs/get-started/install/windows#android-setup for more details.

[✓] Chrome - develop for the web
    • Chrome at C:\Program Files (x86)\Google\Chrome\Application\chrome.exe

[✓] Android Studio (version 3.4)
    • Android Studio at C:\Program Files\Android\Android Studio
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 1.8.0_152-release-1343-b01)

[✓] VS Code (version 1.55.2)
    • VS Code at C:\Users\Vicky\AppData\Local\Programs\Microsoft VS Code
    • Flutter extension version 3.21.0

[✓] VS Code, 64-bit edition
    • VS Code at C:\Program Files\Microsoft VS Code
    • Flutter extension version 3.21.0

[✓] Connected device (2 available)
    • AC2001 (mobile) • 8a4c078d • android-arm64  • Android 11 (API 30)
    • Chrome (web)    • chrome   • web-javascript • Google Chrome 89.0.4389.128

! Doctor found issues in 1 category.

Flutter Application Metadata
No pubspec in working directory.

duplicate of https://github.com/flutter/flutter/issues/68958

Closing this as duplicate.


Stream header and footer mismatch on OS X

% brew info xz
xz: stable 5.2.1 (bottled)
http://tukaani.org/xz/
/usr/local/Cellar/xz/5.2.0 (59 files, 1.7M)
  Poured from bottle
/usr/local/Cellar/xz/5.2.1 (59 files, 1.7M) *
  Poured from bottle
From: https://github.com/Homebrew/homebrew/blob/master/Library/Formula/xz.rb
==> Options
--universal
        Build a universal binary

I haven't seen this issue for years now. Closing.


Default config is not working as expected - Mnemonic validation is failing

Description
In the current state of the faucet, following the README, building and running faucet serve will not work, as it seems that the default mnemonic is wrong, or its validation is failing for some reason.
❯ ./build/faucet serve
unable to create faucet, invalid configuration, invalid mnemonic

Seems that this line is causing the issue. The default mnemonic is the test1 mnemonic.
Trying a fresh mnemonic also fails with the same error, leading me to believe that the validation is failing for some reason.

Have you try specifying an explicit mnemonic?
By default it's empty:
https://github.com/gnolang/faucet/blob/58d6a69ca08b772f969f69bcdb0df9605585ee96/cmd/serve.go#L103


postgresql_conf: Fix regex for value param and add tests

Summary
Fixes #1536

I raised https://github.com/puppetlabs/puppetlabs-postgresql/pull/1545 just with the tests so we can compare it.

Can we first merge https://github.com/puppetlabs/puppetlabs-postgresql/pull/1546 please, which adds the passing tests.

waiting for #1546 to pass the CI


create 0.4.5 release

I don't seem to have this package in my npm account (huayang@coda.io). @jonathan-codaio can you help publish this?

yeah, this is for the packs-example repo. I'll ask Nigel / Oleg for npm org access.

Ok new version is published now.

thanks!
On Mon, Aug 2, 2021 at 2:47 PM Jonathan Goldman @.***>
wrote:

Ok new version is published now.
—
You are receiving this because you modified the open/close state.
Reply to this email directly, view it on GitHub
https://github.com/coda/packs-sdk/pull/1249#issuecomment-891356034, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AQ2ICUDBMSPVNHGYIQ6HT2LT24G6XANCNFSM5BNREIFQ
.


fix: link all outstanding TODO items to a ticket

closes #800
Note: as pointed out in #800, report_todo and report_fixme are only available on the nightly channel. If you're on the stable channel, you will see a ton of error messages any time you run cargo fmt. Perhaps these should be commented out? Let me know how you'd like to proceed here.
><> rustup default stable
info: using existing install for 'stable-x86_64-apple-darwin'
info: default toolchain set to 'stable-x86_64-apple-darwin'

  stable-x86_64-apple-darwin unchanged - rustc 1.41.0 (5e1a79984 2020-01-27)

><> cargo fmt
Warning: can't set `report_todo = Unnumbered`, unstable features are only available in nightly channel.
Warning: can't set `report_fixme = Unnumbered`, unstable features are only available in nightly channel.
Warning: can't set `report_todo = Unnumbered`, unstable features are only available in nightly channel.
Warning: can't set `report_fixme = Unnumbered`, unstable features are only available in nightly channel.
Warning: can't set `report_todo = Unnumbered`, unstable features are only available in nightly channel.
Warning: can't set `report_fixme = Unnumbered`, unstable features are only available in nightly channel.
Warning: can't set `report_todo = Unnumbered`, unstable features are only available in nightly channel.
Warning: can't set `report_fixme = Unnumbered`, unstable features are only available in nightly channel.
Warning: can't set `report_todo = Unnumbered`, unstable features are only available in nightly channel.
Warning: can't set `report_fixme = Unnumbered`, unstable features are only available in nightly channel.

Signed-off-by: Matthew Fisher<EMAIL_ADDRESS>

I'm fine with the warnings, thanks so much for doing this!


CB-16413 Cretate recommendation API in FreeIPA

See detailed description in the commit message.
Returns:

default instance type (based on appliaction.yaml config)
available vm types from cloud provider (CPU and memory size should be at least the default instance type)

retest this please


Support for separate type declarations

I began adopting flow into an existing codebase and immediately began running into problems with formatting. I have existing code that is properly formatted without types, but when I start adding types to function parameters, the formatting quickly gets messy. I know a solution to this problem! Compare the following:
export const findPath = (graphData: Map<PageID, Map<PageID, [Step]>>, start: PageID, finish: PageID) => {...}

And
//:: findPath: (Map<PageID, Map<PageID, [Step]>>, PageID, PageID) => [PageID]
export const findPath = (graphData, start, finish) => {...}

The second is much clearer, and keeps the type declaration separate from the implementation (as in Haskell)

Is there any way to mimic this without too much effort (and without declaration files)?
Would this feature be best implemented as a feature addition to flow itself, or as an addon/library of some sort?

You can use type aliases:
type GraphData = Map<PageID, Map<PageID, [Step]>>
export const findPath = (graphData: GraphData, start: PageID, finish: PageID) => {...}


Remove add/modify users from Business Admin role

Description
Currently the separation of the business admin roles is not clear as he is allowed to ADD/MODIFY roles but not DELETE them.
With the current setup the ADD_USER_ACCOUNT role has no benefit as the VIEW_IDP role would be needed too to add new users.
Therefore we decrease the Business Admin role to be a view only on the user management section.
Acceptance Criteria

[ ] Business Admin does not have ADD_USER_ACCOUNT
[ ] Business Admin does not have MODIFY_USER_ACCOUNT
[ ] Business Admin does not have VIEW_CLIENT_ROLES
[ ] Provide a migration script that updates existing Business Admin users

Additional Information

Hi @Phil91 @MaximilianHauer,
I was just wondering if Business Admin is supposed to be able to add/remove app user for subscribed apps. I think they need modify_user_account and view_client_roles for that.

@typecastcloud there is no logic to add users for certain apps/services as soon as the app is subscribed via the "subscribe_apps" role the whole company can access it

User Management -> Access Management -> Select subscribed app (here GET api/administration/user/owncompany/roles/apps endpoint is called. Requiring view_client_roles) -> Add role -> Search and Select Users -> Confirm -> Add Roles -> Confirm Selected Roles (here PUT api/administration/user/owncompany/users/{id}/apps/{id}/roles is called. Requiring modify_user_account)
I was just wondering if the Business Admin should be able to do this.

based on last discussions userstory was adjusted

based on last discussions userstory was adjusted

PR was already updated as well.

waiting for resetting of INT env until it should be tested .


Pass replication options to Replicator

Corestore has one ondiscoverykey hook that's passed to a top-level protocol stream, and that hook needs to be passed into the replicator.

Good catch! I’ll merge this now and add a test later


added options for remote ollama api

Hey :)
I added the options to use a remote api, but let localhost be the default values.
I think this will resolve my issue #11 :}
Cheers 😸

LGTM , thanks for the contribution! I'll merge and release the new version tomorrow.

Hello,
How does this work? I have the ollama running but twinny keeps on looping without making requests.


Device node pointing to hubitat virtual thermostat does not fire when attributes change in Hubitat

I have a virtual thermostat device created from Hubitat. When I change the parameters in the hubitat portal, the device nodes in node-red do not update, nor do they fire events. Even when triggered by a Timestamp node "press," the data attribute does not change. When I restart or re-deploy the nodes, the current value is reflected in the status icon.
I can't be sure if I'm doing something wrong or not, but the other device nodes on the same Flow behave as expected. Is there some weakness within Hubitat for webhook events on virtual devices?

I don't have issue with the quick test I made

Create new virtual device with Virtual Thermostat driver
Add this device on Maker API app
Add device node and with attribute to all
add debug node and display the whole message
Change Set temperature
Then I receive an event

Be sure:

Add device to Maker API application (in HE interface)
Select the right server in device node configuration
Other device nodes can receive events too

Otherwise, you can ask help on https://community.hubitat.com/t/node-red-nodes-for-hubitat/34386
People are more reactive than me :sweat_smile:

I spent a bunch of time debugging this and it magically started working. I was able to verify that the app had permissions, the server was selected correctly, and that other devices are receiving events.
I noticed a difference in my test routine compared to yours. I was using the Set Heating Setpoint and Set Thermostat Setpoint controls and not the Set Temperature control.
I started up a socat server and added a maker-api instance, and was able to see the events. I restarted node-red and was able to reproduce the bug with log_level set to debug, and then I started editing the javascript in teh downloaded node_modules folder and restarting node_red and it magically started working. All I'd done was add some print statements to get some bearings.
No idea what happened, but perhaps it was a cache ghost or something. Thank you for looking, sorry to waste your time.


Tendency to hit upper Pipe

Hi!
I am trying to build my own version of Flappy Bird bot.
I've noticed, most of the times the bird dies because of flapping too much and ultimately hitting the upper pipe.
Do you have an explanation as to why this happens?

Hello @yashkotadia!
This will indeed happen if you don't take a precaution. Check this section out from the README of this project:

In addition if the bird dies by collapsing to the top-section of a pipe, the state where bird jumped gets flagged and is punished additionally. This works nice, since dying to the top-section of the pipe is almost always the result of a bad jump. The flagging helps propagating the information to this ‘bad’ [s,a] pair quickly.

So I punish the jumping action at the state which caused collapsing on a top pipe. You might also want to implement a logic like this to prevent this problem. Otherwise the information punishes the states right before collapsing, while actually the mistake was done back when the 'jump' action was taken.

Oh! I understood what you said.
Makes sense.
For now I'm seeing an average score of mere 2 points after a million iterations.
I'll try integrating this bit and see how it works.
Thank you!!


palindrome("0_0 (: /-\ :) 0-0") should return true. It's a bug.

Challenge Check for Palindromes has an issue.
User Agent is: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Ubuntu Chromium/48.0.2564.116 Chrome/48.0.2564.116 Safari/537.36.
Please describe how to reproduce this issue, and include links to screenshots if possible.
My code:
function palindrome(str) {
  // Good luck!
  var tmpStr = str.replace(/[\s,.!;]/g,"").toLowerCase().replace("-","_");
  var reStr = tmpStr.split("").reverse().join("");
  if (tmpStr === reStr){
    return true;
  }else{
    return false;
  }
}

palindrome("never-odd o_r even");

"0_0 (: /-\ :) 0-0" contains a escape symbol, so it  actually is "0_0 (: /- :) 0-0", it isn't a palindrome string.

"0_0 (: /-\ :) 0-0" contains a escape symbol, so it  actually is "0_0 (: /- :) 0-0", it isn't a palindrome string.

Agreed. It isn't until you remove all the symbols.
Refer instructions:

Note
You'll need to remove all non-alphanumeric characters (punctuation, spaces and symbols) and turn  everything lower case in order to check for palindromes.

Bonus hint: This one is a trick question :wink:
If you are still stuck please ask for help in the Help Chat

For passing this challenge, I must modify my code like this:
str.replace(/\W+|_/g,"")

But this is not the real intention. And when I am more in-depth, I find that I must process that pairs of symbol: "(" and ")", "<" and ">" , "{" and "}", "[" and "]". Oh, I would go nuts!

Lol yup! @ShenZQ I admit, I had to take two coffee's to solve this last test case! :sweat_smile:

@raisedadead I wait for your code. Lol!

ahhahaha got it) cool


Initial code for gps lab

This implements the GPS lab using Raspberry PI and the GPS sensor. It has a client (Raspberry with  python) that connects to the IoT Hub and sends the GPS information and a Server App (Node.js) that reads the GPS data from the IoT Hub and displays in an Azure Map.

Folder comment - can the folder use a hyphen instead of an underscore (same with all the files), and move it to the labs/iot folder. The iot folder is for all labs that are pure IoT scenarios, instead of AI scenarios.
Can you also add a link to this lab to the README.md file in the labs folder

Superseded by #28


CORE-4211 Fixes to help with error handling

Changes being tested here: https://github.com/redpanda-data/vtools/pull/2858

There was one last unhandled error in the final CDT run.  Created an issue for follow up: https://redpandadata.atlassian.net/browse/CORE-4225

Force push 9910e86:

Took @BenPope 's suggestions
Updated dependencies

Force push ebb5558:

Added missing newline at end of tls.hh

Force push fa1ef72:

Fixups

Force push f9b9a82:
Dropped change in dependencies as that was causing issues with RP build - will address in separate PR


Preprocessing scripts

Hi team,
Thanks for your contribution!
Would it be possible for you to release the preprocessing scripts you've mentioned in the "Data" section of the README? I'm trying to convert some of the other scenes from the datasets you've based on including Instruct-NeRF2NeRF and NeRF-Art. However, I'm seeing some discrepancies in camera coordinate systems used across all of these datasets leading to problems with camera trajectories used for rendering.
Thank you!

Hi, thank you for your question. We don't have a script to pre-process. All we did was to first crop images to 512x512 (in our experiments), other sizes should also be fine if your GPU can fit those sizes. And then run ns-process-data images --data path/to/your/images --output-dir output to let nerfstudio do all the preprocess work for you. (Also see this page). Nerfstudio should be able to estimate the camera parameter for you (using COLMAP)

I have the same problem,
Can you please share the preprocessing details?
Thanks for you work!


Dead link for Learn more

File not found for page - http://help.plot.ly/dashboards.ly/

Link should be up again.


Fix: Amplitude endpoint was hardcoded

There are multiple endpoints for amplitude, I think when using an 'EU' account it was a different URL than the component, causing the api key to be rejected.
The credentials now support an 'endpoint' field to allow customizing the URL:
[[components.data_collection]]
name = "amplitude"
component = "local/wasm/amplitude.wasm"
credentials.amplitude_api_key = "<KEY>"
credentials.endpoint = "https://api.eu.amplitude.com/2/httpapi"

To avoid breaking existing code, if unspecified the endpoint defaults to the old one.

Would renaming 'credentials' to something more generic like 'settings' help?

Yes, I think it would help. Something like settings or config would make it more forward-compatible with new configurations parameters.
@SachaMorard any outstanding issues with changing the interface? I guess it will need to change here too: https://github.com/edgee-cloud/edgee/blob/ca73f3b4c177f2341eaed3568c89fd1e6f70658d/src/config.rs#L178

In any case I will need to add the endpoint setting to the edgee.toml sample file as well. Also these things are also good input for the component repository discussion for tomorrow.
In any case, changing the name is a bit beyond the scope of this pr, let's make a separate issue for that.

@flyaruu good catch!


Not clear about what this package provides

I'm confused about what this package provides. The readme has:
pre-commit hooks for python projects using pyproject.toml.

.pre-commit-hooks.yaml provides pre-defined ids which you just need to add these ids to your .pre-commit-config.yaml.

So, by installing this project I get the pre-defined ids for python development? But I still need to create the .pre-commit-config.yaml. I still need to install pre-commit, and still need to run pre-commit install....
Is it the pyproject.toml feature? For example flake8 uses .flake8 but pyproject-flake8 can get configuration data from pyproject.toml...

The README was not so clear, sorry.
I have updated the README.
If you still have questions, please don't hesitate to ask.
pyproject-pre-commit provides 2 features:

ids for tools

By adding - repo: https://github.com/rcmdnk/pyproject-pre-commit to your .pre-commit-config.yaml, you can easily add python related hooks, such as black, isort, mypy, and etc. (No need to add other repo)
This does not require pyproject-pre-commit package installation.

tool installation

By installing pyproject-pre-commit, tools such as black, isort, or mypy will be installed.
You can use these tools directly from command line.

So, by installing this project I get the pre-defined ids for python development?

To use ids, you don't need to install  pyproject-pre-commit.
Ids are available under - repo: https://github.com/rcmdnk/pyproject-pre-commit.

But I still need to create the .pre-commit-config.yaml.

Yes, you need to create the .pre-commit-config.yaml.

I still need to install pre-commit

If you install pyproject-pre-commit, pre-commit is also installed.

and still need to run pre-commit install....

Yes, pre-commit install is needed.

For example flake8 uses .flake8 but pyproject-flake8 can get configuration data from pyproject.toml...

This is intended. I want to summarize all configurations in pyproject.toml
and then pyproject-flake8 is used in pyproject-pre-commit.
You may just migrate configurations from .flake8 to pyproject.toml.
If you want to use .flake8, you may need original flake8 pre-commit hook.

Ah, so this is (1) a collection of Python pre-commit hooks which if used reduces the need for a bunch of step by step entries in a .pre-commit-config.yaml (repo, id , version,... becomes one repo and lines of id.)
Plus a set of command line tools that overlaps with the above hooks.
Upside: fewer entries on extras_require for the dev environment. Fewer lines in the .pre-commit-config.yaml
Downside: uncertainty if the versions specified will be updated or reflect python versions. This occurs with individual hooks too.
Thank you for the explanation!


[Size reports] Remove .heap section from reports

Problem
For platforms that use it, the .heap section indicates memory
available for the heap, that is, RAM not otherwise in use.
Including it in size reports is confusing because a .heap increase
is good.
Change overview
Remove .heap from the default section list of the platforms
where it currently appears, namely Mbed and P6.
Testing
Manually checked on a P6 binary.

Fast-track: tooling change.


Basics: remove AsyncFileSystem as unused

Motivation:
Since FileSystem is now Sendable, we no longer need to keep AsyncFileSystem, which served only as a workaround for non-sendability. It wasn't non-blocking under the hood anyway, and a blocking FS I/O API would have to be designed from scratch anyway, not as a wrapper for the existing blocking APIs.
Modifications:
AsyncFileSystem actor declaration and its uses were removed. FileSystem can be used directly in our async code instead.
Result:
Reduced the amount of redundant code, FS code is now easier to understand when async/await are used.

@swift-ci smoke test

@swift-ci smoke test macOS self hosted

@swift-ci smoke test macOS self hosted

@swift-ci please test Windows platform


[#5411] support option for tracing embedded library

Working with scope works... But.
Need to consider when altering trace with Scope
Must consider.
Shouldn't the applied range be inside a Span?
In this case, isn't applied range a Trace?
Besides the applied range
A small thing. But the naming is a little awkward. (in the case of isActive function)
It can be used as below,
When A library embeds B library. ( = B inside A)
A plugin
currentTrace.addScope(HttpClient4Constants.HTTP_CLIENT4_SCOPE);
currentTrace.getScope(HttpClient4Constants.HTTP_CLIENT4_SCOPE).tryEnter();
logger.info("add scope NOT to trace embedded library");

B plugin
TraceScope traceScope = trace.getScope(HttpClient4Constants.HTTP_CLIENT4_SCOPE);
        if(traceScope != null && traceScope.isActive()){
            logger.info("Do NOT trace embedded library");
            return;
        }

What do you think?

Codecov Report

Merging #5416 into master will increase coverage by <.01%.
The diff coverage is 0%.

@@            Coverage Diff            @@
##           master   #5416      +/-   ##
=========================================
+ Coverage    40.9%   40.9%   +<.01%
=========================================
  Files        2761    2761
  Lines       83526   83542      +16
  Branches    11131   11134       +3
=========================================
+ Hits        34165   34177      +12
+ Misses      46364   46357       -7
- Partials     2997    3008      +11

Impacted Files
Coverage Δ

...avercorp/pinpoint/profiler/context/AsyncTrace.java
34% <0%> (-1.42%)
:arrow_down:

...orp/pinpoint/profiler/context/AsyncChildTrace.java
0% <0%> (ø)
:arrow_up:

.../profiler/context/scope/DefaultTraceScopePool.java
0% <0%> (ø)
:arrow_up:

...ercorp/pinpoint/profiler/context/DefaultTrace.java
66.91% <0%> (-2.03%)
:arrow_down:

...ercorp/pinpoint/profiler/context/DisableTrace.java
34.78% <0%> (-1.59%)
:arrow_down:

...vercorp/pinpoint/rpc/packet/ServerClosePacket.java
52% <0%> (-16%)
:arrow_down:

...vercorp/pinpoint/rpc/packet/ClientClosePacket.java
55.55% <0%> (-11.12%)
:arrow_down:

...rp/pinpoint/rpc/server/PinpointServerAcceptor.java
84.93% <0%> (-4.8%)
:arrow_down:

...orp/pinpoint/rpc/server/DefaultPinpointServer.java
79.37% <0%> (-1.05%)
:arrow_down:

...cluster/zookeeper/ZookeeperClusterDataManager.java
64.7% <0%> (+2.2%)
:arrow_up:

... and 9 more

Continue to review full report at Codecov.

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


lowering of loop ranges with start/step

Commit be51d48695e13bf208d1d8beb35dd29b0532915b in phdf5 branch adds support for start and step in parfor loops. However, we need lowering support in gufunc backend.

Is there any sample program to run in this branch?

This branch needs a bit of set up at the moment but you can cherry-pick be51d48695e13bf208d1d8beb35dd29b0532915b and 20209a4abb1e5f0edeeb278c89dbce21bf9014b7, then run any data-parallel program to see initial errors. Below is an example. For testing start and step fields, we can set them manually in parfor pass to different values.
import numba
import numpy as np

@numba.njit(parallel=True)
def ff(n):
    A = np.ones(n)
    return np.sum(A)

n = 128
print(ff(n))

Supporting step size other than 1 is tricky, I'm putting this off for now.
Branch parfor-range should have working code supporting start/stop in LoopNest.

I believe the scheduling part of this is done.


modified the navigation and header section

I have aligned the header image to match the nav links
moved down nav links little bit since they were cramped at the top of the page
I plan to add responsiveness soon.
Also removed home tab from index.html as it is the home.
Other tabs can have it in future though.
https://github.com/OpenCodeEra/OpenCodeEra/assets/129188028/07414007-3871-4b8c-ab87-13ca47f28ef7

I have aligned the header image to match the nav links

looks good

moved down nav links little bit since they were cramped at the top of the page

Reduce the top padding of the nav bar a bit.

Also removed home tab from index.html as it is the home.

We need the button so that when user scrolls to other sections they can return to home section.

Other tabs can have it in future though.

Maybe we can highlight the nav bar according to the page the user is on.

Yes that's a good idea could implement that easily

I am working on it. will PR to the project soon.


Fix[Playgrounds]: Playback - Recording Nodes

Change Label -> AKLabel for run error.
&
ExportAsynchronously failure with error "AKAudioFile export: In time must be less than Out time."

Thanks.


Content-Encoding response header is not set when set using FilterChain

Using the following version:
<dependency>
    <groupId>io.dropwizard</groupId>
    <artifactId>dropwizard-core</artifactId>
    <version>1.1.2</version>
</dependency>

Our service is not able to add to Response Headers the header for Content-Encoding.
The GzipFilter class we added is as:
import javax.servlet.*;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;

public class GzipFilter implements Filter {
    public void doFilter(ServletRequest req, ServletResponse res, FilterChain chain)
            throws IOException, ServletException {
        HttpServletResponse response = (HttpServletResponse) res;
        response.setHeader("Content-Encoding", "gzip");
        chain.doFilter(req, res);
    }

    public void init(FilterConfig filterConfig) {
    }

    public void destroy() {
    }
}

and the configuration for OurService extends Application<DocumentServiceConfig> is as:
@Override
public void run(OurServiceConfig config, Environment environment) throws Exception {
   Injector injector = createInjector(config, environment);
   environment.jersey().register(injector.getInstance(StatsResource.class)); // Some resource
   environment.servlets().addFilter("Gzip-Filter", GzipFilter.class)
           .addMappingForUrlPatterns(EnumSet.allOf(DispatcherType.class), true, "/*");
}

The issue is, we don't get the Content-Encoding: gzip in our response headers.
Just to add to the note, tried this with dropwizard-core:1.2.0-rc1 and the behavior is same.

I believe Dropwizard does gzip compression automatically. The support for gzip is enabled by default (see http://www.dropwizard.io/1.1.2/docs/manual/configuration.html#gzip). So, if the client supports decompression by sending a request with the Accept-Encoding:gzip header, org.eclipse.jetty.server.handler.gzip.GzipHandler will compress the response and add the Content-Encoding: gzip header.
Why your custom filter doesn't work is not clear, maybe your filter is executed before the Jersey servlet and it rewrites the header.

@arteam Assuming that the default response is gzipped from dropwizard. Even if I include the Accept-Encoding:gzip header. I don't get back a Content-Encoding:gzip in the response headers.

Why your custom filter doesn't work is not clear, maybe your filter is executed before the Jersey servlet and it rewrites the header.
Do you see any such changes from the shared code? Since we had not intentionally overridden the headers. Just wanted to set the value as such.

Assuming that the default response is gzipped from dropwizard. Even if I include the Accept-Encoding:gzip header. I don't get back a Content-Encoding:gzip in the response headers

How big is your response? By default responses less than 256 bytes are not compressed. Also, only GET methods are compressed by default.

Do you see any such changes from the shared code? Since we had not intentionally overridden the headers. Just wanted to set the value as such.

Your custom filter looks good considering all your Jersey resources return gzipped content by default.
I would debug filter chain to see why the header could be removed (and Jetty's GzipHandler since it's enabled by default).

 By default responses less than 256 bytes are not compressed. Also, only GET methods are compressed by default.

Approximately 150KB. Using both GET and POST. Have tried enabling using
  gzip:
     enabled: true
     minimumEntitySize: 256B
     bufferSize: 32KB

Still, won't work for me.
Would debug the FilterChain further for this. Thanks.

Update - The additionally added ResponseHeader doesn't seem to be working but the default Response Headers from Dropwizard works fine.
Our bad, the size we compared this against was the formatted content's size on Chrome. The raw content-length(size) pointed us to the correct metrics.
Closing this. Not an Issue.


Add Content-Length header for pre-compressed files

We only set it when we know the whole file will be sent because no Range header was on the request. Otherwise we defer to the Range mechanics of the Go Standard library.
The rules are that Content-Length can be set with Content-Encoding but not with Transfer-Encoding.
The Go Standard library does not set Content-Length when Content-Encoding is set as a precautionary measure.
You can see as an example that Caddy does it.

Awesome, thanks!


LocationLayerPlugin Navigation Mode Arrow issues

I set my LocationLayerPlugin to Navigation mode. However, when I start my navigation, my default blue user icon does not change to arrow, Instead, the new arrow icon is appear together with my default blue user icon.

It kind of looks like the MyLocationView which is inside the mapbox sdk itself. And from what I've read will be removed in favor of the plugins.
Have you disabled/(or perhaps enabled) the locationview?
Try
MapboxMap.setMyLocationEnabled(false); or remove the enabling (if you have that)

If the locationview is disabled, how could I get my current location?

If the locationview is disabled, how could I get my current location?

You could add a LocationEngineListener that will return the location. MyLocationView is the dot you see, I guess you could set it to another icon which is transparent if you want to keep the logic for locations and just remove the UI.
(Quite sure MyLocationView is the reason you see the dot, but not 100%)

After I disable the locationview, it solve my problem. Thank for the help.


[feature] support showing VMware virtual machines in machine list and edit pages

Need to support getting machine info from VMware Workstation Pro via their REST API: https://docs.vmware.com/en/VMware-Workstation-Pro/17/com.vmware.ws.using.doc/GUID-9FAAA4DD-1320-450D-B684-2845B311640F.html
Similar to Aliyun: https://github.com/casvisor/casvisor/commits/master/

The final goal is to be able to list VMware VMs here: https://door.casvisor.com/machines

Fixed by: https://github.com/casvisor/casvisor/pull/140


feat(CategoryTheory): wide subcategories

This PR introduces the notion of wide subcategory. The API is in parallel with that of full subcategories.

You should edit the title of the PR as "feat(CategoryTheory): ..."
bors d+

bors r+


[ZEPPELIN-5277] Use RandomStringUtils from apache-commons-lang3

What is this PR for?
This PR removes our own implementation of random string generation and switches to RandomStringUtils from apache-commons-lang3.
What type of PR is it?

Refactoring

What is the Jira issue?

https://issues.apache.org/jira/browse/ZEPPELIN-5277

How should this be tested?

CI

Questions:

Does the licenses files need update? No
Is there breaking changes for older versions? No
Does this needs documentation? No

Since this change is a no-brainer, I will merge it soon.


feat: drill down into methods

Problems left:

[ ] type parameters declared in the class are not available in the drilled down method

type parameters declared in the class are not available in the drilled down method

Do you think this can be addressed in the future? If so, maybe leave some TODO comments somewhere?


Poor performance when collapsing contigs

Currently the variantset.collapse method takes a very naive approach to collapsing contigs that are subsequences of other contigs. The contigs are first sorted by length, and then added to a new set of unique contigs only if they are not a subsequence of any contig already in the unique set.
unique_contigs = set()
for contig in sorted(contigs, key=len, reverse=True):
    contigrc = kevlar.revcom(contig)
    keep =  True
    for uc in unique_configs:
        if contig in uc or contigrc in uc:
            keep = False
            break
    if keep:
        unique_contigs.add(contig)

I’ve tried both a set (fast membership queries, slow iteration) and list (fast iteration, slow membership queries) as the container variable unique_contigs, but the naive O(N^2) algorithm washes out any small benefit of changing the data structure.
I explored an alternative approach using a suffix tree and got a huge speedup (≈15min to ≈20 seconds).
unique_contigs = set()
suffix_tree = trie()
for contig in sorted(contigs, key=len, reverse=True):
    contigrc = kevlar.revcom(contig)
    query = suffix_tree.with_prefix(contig) + \
                  suffix_tree.with_prefix(contigrc)
    if query == []:
        unique_contigs.add(contig)
        for i in range(len(contig)):
            suffix_tree[contig[i:]] = 1

Two concerns with this approach.

This introduces BioPython as a dependency, which is not lightweight (it’s a huge library with some C extensions, including the backend of the trie implementation). I couldn’t find any Pure python suffix tree implementations: probably a lost cause with respect to memory overhead.
The number of collapsed contigs isn’t identical to the previous approach, which will require time to investigate potential issues with both approaches. A bit more evaluation is probably warranted anyway to be more confident it’s doing what we want, but this will take a bit of time.

A couple of comments to put this into perspective.

The minutes of runtime consumed by kevlar collect is peanuts compared to the hours or days on runtime consumed by kevlar find. This should not be a priority for optimization.
There may be reason to integrate a suffix tree data structure into khmer for various reasons, and if so, that would eliminate the need to add the BioPython dependency.

I don't think this needs to be closed or labeled wontfix, but it definitely should be punted and reevaluated later.

Failed to link to #38, which provides an unmerged demo implementation for future reference.

The kevlar collect command is not currently an active area of work, so I'm going to close this for now. It's not really a big concern currently.


Ubuntu 14 - error while loading shared libraries

Attempting to run cypress for CI on jenkins:
Description:    Ubuntu 14.04.3 LTS
Linux 3.13.0-36-generic x86_64

$ cypress -V
0.6.0

$ cypress install
  - Downloading Cypress [==============================] 100% 0.0s
  - Unzipping Cypress   [==============================] 100% 0.0s
  - Finished Installing /var/lib/jenkins/.cypress/Cypress

$ cypress verify
{ [Error: Command failed: /bin/sh -c /var/lib/jenkins/.cypress/Cypress/Cypress --smoke-test --ping=0.6650748795364052
/var/lib/jenkins/.cypress/Cypress/Cypress: error while loading shared libraries: libnotify.so.4: cannot open shared object file: No such file or directory
]
  killed: false,
  code: 127,
  signal: null,
  cmd: '/bin/sh -c /var/lib/jenkins/.cypress/Cypress/Cypress --smoke-test --ping=0.6650748795364052' }

You probably just need to install the appropriate libnotify package. I think on ubuntu it is libnotify-bin or libnotify-dev
If not, just check apt for libnotify packages, one of them should have the appropriate lib.

That definitely helped make progress
Now getting:
{ [Error: Command failed: /bin/sh -c /var/lib/jenkins/.cypress/Cypress/Cypress --smoke-test --ping=0.2901066541671753
[27163:0918/093950:ERROR:browser_main_loop.cc(170)] Running without the SUID sandbox! See https://code.google.com/p/chromium/wiki/LinuxSUIDSandboxDevelopment for more information on developing with the sandbox on.
[27163:0918/093950:ERROR:browser_main_loop.cc(216)] Gtk: cannot open display:
[27165:0100/000000:ERROR:zygote_linux.cc(585)] write: Broken pipe
]
  killed: false,
  code: 1,
  signal: null,
  cmd: '/bin/sh -c /var/lib/jenkins/.cypress/Cypress/Cypress --smoke-test --ping=0.2901066541671753' }

This is happening because Cypress requires xvfb be installed to run headlessly.
All you need to do is install xvfb, and under the hood Cypress will start / run / stop xvfb as it needs. As long as xvfb is available in your system, everything should work.
https://csshyamsundar.wordpress.com/2011/07/07/installing-xvfb-on-ubuntu/

I can additionally upgrade the CLI tool to check for this - it actually does, but I can see it's not hitting the catch.
It would be nice to automatically point you to an article that explains how to install xvfb, or maybe just provide the commands for you in the error output.

xvfb is already installed, I thought it would be being called from node-xvfb without the need for xvfb-run, we're already using xvfb-run with nightwatch.js tests for a different app.

You shouldn't have to start the xvfb process yourself - the CLI tool should do that for you automatically. There's probably a bug somewhere.

FWIW this is what we're running in CI
gulp build --config=test
gulp serve:dist &
cypress ci <id>
kill %1

Ok, should be fixed by: 60f05d83f57d0ccaf4be345aecc7b612d598ea8f
Go ahead and see if this works in your CI setup.
The problem was cypress ci was doing an initial verification of the app, and wasn't wrapping that by starting / stopping xvfb.
I've simplified the initial verification to only check whether the Cypress exists as the expected path, and either running or installing it based on the result.


Add "needs reviews" section to i18n.docs.astro.build

What kind of changes does this PR include?

Something else!

Description

Closes #1059
What does this PR change? Adds a "Translations that need reviews" section to i18n.docs.astro.build
Did you change something visual? Adds the following section

Pushed the suggestions :+1:

I can think of more fun improvements now we have this, like maybe auto-labelling each language differently and then using those labels to group PRs by language, etc., or fetching the comments for each PR so we can show if there’s been any discussion or not, but that’s for a future enhancement!

+1 to this


Add xFrednet to the Clippy reviewer rotation

cc https://github.com/rust-lang/team/pull/611

ping @Mark-Simulacrum. rust-lang/team#611 got merged. Can you merge this PR too, please?


Handling Column Referencing & Duplicate Column Names in Summary Data

I'm interested to know how folks handle column referencing in summary data especially when it comes to columns that have the same fieldName property.
For instance a quick table calc will appear to be the same fieldName as a duplicate, non table calc aggregate:

While I considered using the index field to differentiate between the two it isn't reliable as it will change based on the user modifying the order of fields in the sheet. Why doesn't the SDK provide the unique field reference present in the twb XML? This would surely sort out the issue?
Currently my users get strange behaviour from the extension as depending on the field ordering & extension configuration they get unexplained results all caused by duplicate field names.

We made an unfortunate decision to use the name rather than the field Id (as you suggest). We are looking at how to incorporate the field id without adding a completely new API.

Thanks for the update @johnDance, yes this seems to have been a bit short sighted as it affects multiple language use. If you configure an extension in English aggregates have the field name SUM ( ) or AVG ( ) however when a user with for instance Japanese set as their local language the field name changes from AVG ( ) to 平均 ( )
Unless you can provide a giant lookup table for all possible aggregations & languages extensions are broken for anybody in this situation.

Agreed, and sad. We will be fixing this. I just don't know the time frame yet.

Closing this as a won't fix in a general sense, but starting with Extensions API release 1.5, the field ID is now returned along with the field name, so that may be helpful here.


operator infoscale-sds-operator (8.0.310)

New operator bundle
Name: infoscale-sds-operator
Version: 8.0.310
Certification project: 62925c33c6b6870a06867686
Test result URL: https://catalog.redhat.com/api/containers/v1/projects/certification/test-results/id/65b8f488e13a31543b3c94a0
Test logs URL: https://catalog.redhat.com/api/containers/v1/projects/certification/artifacts/id/65b8f485844f8139eb9112d3

Trial of PR was made.


extract metadata

Hi,
If i open xpt file in notepad, i can see column name there. Could you please guide me how can i extract column name form xpt file using xport?

If you do this:
import xport.v56

with open('example.xpt', 'rb') as f:
    library = xport.v56.load(f)
help(library)

Do you get something that explains it?

Sorry, I should have waited until I had a chance to write more.  So, the load function parses a SAS dataset library, which can have many members. Each has a name, so the library is kind-of a dictionary of members. If you look at the library's keys, you'll see the member names. Pick out a member and it's a subclass of a Pandas DataFrame, the column names matching the SAS names.


issue with CardsApi method like listCards  and createCards

I am using node js sdk and other api like
try {
const response = await client.customersApi.createCustomer({});
console.log(response.result);
}
in the above code customersApi.createCustomer all the method of customerAPi is working
but in case of cardsAPI
try {
const response = await client.cardsApi.listCards('VD193ZV5V4TZD04WGZ5BDC7SQ0');
console.log(response.result);
} catch(error) {
console.log(error);
}
Actully it is not identified that cardsApi.listcard is method of cardsApi.  at the console of my server it shows   Cannot read property 'listCards' of undefined

The first element it's expecting is a Cursor, which is why you have this error.
Try
await cardsApi.listCards(undefined, id)

The first element it's expecting is a Cursor, which is why you have this error.
Try
await cardsApi.listCards(undefined, id)

actually i have tried this also the problem is CardsAPI method like createCard, disableCard, listCards method is not working.

Are you sure you aren't calling:
client.cardsApi.listCards?

You should be calling:
cardsApi.listCards

Actually You are not suppose to understand the problem  Please try to use in Your system intgrate node js sdk in your system and send me screen shot if it is working or not

Are you sure you aren't calling:
await client.cardsApi.listCards

You should be calling:
await cardsApi.listCards

Actually You are not suppose to understand the problem Please try to use in Your system intgrate node js sdk in your system and send me screen shot if it is working or not

This is my working code:
app.post('/listCards', async (request, response) => {
  console.log('Listcards start');
  const requestBody = request.body;
  try {
    const id = requestBody.customerId;
    console.log('Customer: ', id)
    let result = await cardsApi.listCards(undefined, id)
    console.log('Result:')
    console.log(result.body);

    response.status(200).send(result.body);
  } catch (e) {
    console.log(
      `Listcards [Error] Status:${e.statusCode}, ${e.errors}, Messages: ${JSON.stringify(e.errors, null, 2)}`);

    try {
      sendErrorMessage(e.errors, response);
    } catch (error) {
      console.log(`send error message error: ${error.errors}`);
    }

  }
});

This is my working code:
app.post('/listCards', async (request, response) => {
  console.log('Listcards start');
  const requestBody = request.body;
  try {
    const id = requestBody.customerId;
    console.log('Customer: ', id)
    let result = await cardsApi.listCards(undefined, id)
    console.log('Result:')
    console.log(result.body);

    response.status(200).send(result.body);
  } catch (e) {
    console.log(
      `Listcards [Error] Status:${e.statusCode}, ${e.errors}, Messages: ${JSON.stringify(e.errors, null, 2)}`);

    try {
      sendErrorMessage(e.errors, response);
    } catch (error) {
      console.log(`send error message error: ${error.errors}`);
    }

  }
});

    router.post("/ListCards", async function(req,res){

    console.log("ayush");

        try {
          const id = 'QG3B13B45RR5HE2J8XFR97CKW0';
          console.log('Customer: ', id)
          let result = await cardsApi.listCards(undefined, id)
          console.log('Result:')
          console.log(result.response);

        } catch (err) {
        res.json({
          status:"false",
          Error :err
        })

        }

    })

  i used Your code also  got same error " Cannot read property 'listCards' of undefined" i think problem is with my account acess token if it is working in Your system then i think it might be possible with the access token

This is my working code:
app.post('/listCards', async (request, response) => {
  console.log('Listcards start');
  const requestBody = request.body;
  try {
    const id = requestBody.customerId;
    console.log('Customer: ', id)
    let result = await cardsApi.listCards(undefined, id)
    console.log('Result:')
    console.log(result.body);

    response.status(200).send(result.body);
  } catch (e) {
    console.log(
      `Listcards [Error] Status:${e.statusCode}, ${e.errors}, Messages: ${JSON.stringify(e.errors, null, 2)}`);

    try {
      sendErrorMessage(e.errors, response);
    } catch (error) {
      console.log(`send error message error: ${error.errors}`);
    }

  }
});

same error got when create card Api is called might be issue with the account


Browse category titles are unreadable because of poor color contrast

examples:

https://dpul.princeton.edu/ga_treasures/browse
https://dpul.princeton.edu/islamicmss/browse
https://dpul.princeton.edu/wa/browse

from axe:
To solve this violation, you need to: Fix the following: Element has insufficient color contrast of 4.07 (foreground color: #777777, background color: #f5f4f1, font size: 10.5pt, font weight: normal). Expected contrast ratio of 4.5:1


I know it isn't a good idea for long-term maintenance but it may work?


Fix false collapsing of reverse DNS requests.

If multiple reverse DNS requests are made, they are incorrectly collapsed in to a single request, with the result that all the requests resolve to the same value, even if the requests are different. The root problem is
qname_len isn't set in this case, so that when the pending queue is searched, 0 bytes of the qname is compared, instead of the actual length of the qname.

Cherry-picked to 8.1.x


Docs.MS Release Updates for Azure.ResourceManager.CosmosDB

Update docs metadata and targeting for release of Azure.ResourceManager.CosmosDB

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

File
Status
Preview URL
Details

api/overview/azure/resourcemanager.cosmosdb-readme-pre.md
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching in the Docs contributor and Admin GuideSee the frequently asked questionsPost your question in the Docs support channel

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

File
Status
Preview URL
Details

api/overview/azure/resourcemanager.cosmosdb-readme-pre.md
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching in the Docs contributor and Admin GuideSee the frequently asked questionsPost your question in the Docs support channel


BUG: Resolve Issue #2353, bug in itkPeriodicBoundaryConditionTest.

BUG: Resolve Issue #2353, bug in itkPeriodicBoundaryConditionTest.
PR Checklist

[X] No API changes were made (or the changes have been approved)
[X] No major design changes were made (or the changes have been approved)
[X] Added test (or behavior not changed)
[X] Updated API documentation (or API not changed)
[X] Added license to new files (if any)
[X] Added Python wrapping to new files (if any) as described in ITK Software Guide Section 9.5
[X] Added ITK examples for all new major features (if any)

I am marking this as a draft.  Please see the discussion at https://github.com/InsightSoftwareConsortium/ITK/issues/2353#issuecomment-796101743.


Storing bound service VCAP env. vars in manifest.yml?

As far as I see, there is no way to specify env. vars for a bound service in a manifest.
Right now, all you can do is list the service name.
The docs say to use VCAP_Services, but there is no YAML equivalent (maybe there shouldn't be, could be by design and there's a way to reference this).
Hopefully that makes sense. I can provide further examples if need be.

Hi @kevinSuttle,
Can you help us understand your question? From what we can tell, you are asking that in an application manifest you can specify environment variables that will contain credentials of the services specified?
If so, this feature is not currently supported in CloudFoundry. Currently we use VCAP_SERVICES as a generic location for service information. It allows us to prevent environment variable pollution and provides a consistent pattern for apps to access service credentials. Therefore I do not believe there is a plan to change this currently.
Thanks,
@jfmyers9 && @zaksoup, CF Runtime Team

Thanks @jfmyers9. That makes sense. I was referencing this: http://12factor.net/config, and was wondering how a team would share VCAP_Services + environment variables, in both their local environment and their PAAS. I guess that just happens on a per-app basis in the space/org by default?

Hi @kevinSuttle,
Cloud Foundry has no notion of sharing service information in a manifest for a couple of reasons. The manifest serves as a request to Cloud Foundry of the state you would like your app to be in with information specific to Cloud Foundry. A service is any 3rd party add-on and so some deployments might share the same service while others will not. This makes it impossible to add add service specific details in the manifest.
After starting your application, you can retrieve the VCAP_SERVICES from cf env APP_NAME.
Hope this helps,
@jfmyers9 && @DanLavine, The Runtime Team


docs: removed duplicate info

What is it?

[ ] Feature / enhancement
[ ] Bug
[x] Docs / tests

Description
removed duplicate info on Slots doc (L:161 was duplicated)
Checklist:

[x] My code follows the developer guidelines of this project
[x] I have performed a self-review of my own code
[x] I have made corresponding changes to the documentation
[ ] Added new tests to cover the fix / functionality

thanks


Api call to fetch policy's nrql conditions does not work on some accounts

Api call which should fetch nrql conditions list for particular policy does not work on some accounts.  For example on two accounts this api call:
https://api.newrelic.com/v2/alerts_nrql_conditions?policy_id=ACCTUAL_POLICY_ID
returns 404 while on few other accounts works fine. Have in mind that for each account were provided correct USER KEY generated for user with required permissions.
After investigation I've found out through NR API Explorer that this api call with suffix .json does work. So Api call like this works:
https://api.newrelic.com/v2/alerts_nrql_conditions.json?policy_id=ACCTUAL_POLICY_ID
and this one works on every account.
I could not find exact reason why on some accounts this suffix is required but i think the easiest option to fix that bug is to add this suffix in implementation especially if API Explorer shows that it should be included and it does not break communication on other accounts.

Covered and fixed in PR: https://github.com/ocadotechnology/newrelic-alerts-configurator/pull/46


AttributeError on macOS

When running on a MacBook with arm architecture, it attempts to download the vale executable.
However, determining the architecture appears to fail.
Issued command (by tox):
vale --config=docs/vale/.vale.ini sync
Expected outcome:
 SUCCESS  Downloaded package 'proselint'
 SUCCESS  Downloaded package 'Microsoft'
Downloading packages [2/2] █████████████████████████████████████████████████████████ 100% | 1s

Actual outcome:
py: commands[1]> vale --config=docs/vale/.vale.ini sync
* vale not found. Downloading it...
Traceback (most recent call last):
  File "/.../.tox/py/bin/vale", line 8, in <module>
    sys.exit(main())
             ^^^^^^
  File "/.../.tox/py/lib/python3.11/site-packages/vale/main.py", line 131, in main
    vale_bin_path = download_vale_if_missing()
                    ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/.../.tox/py/lib/python3.11/site-packages/vale/main.py", line 102, in download_vale_if_missing
    operating_system, architecture, extension = get_target()
                                                ^^^^^^^^^^^^
  File "/.../.tox/py/lib/python3.11/site-packages/vale/main.py", line 50, in get_target
    elif os.uname().architecture.startswith("arm"):
         ^^^^^^^^^^^^^^^^^^^^^^^
AttributeError: 'posix.uname_result' object has no attribute 'architecture'

On my machine, the os.uname() has the following attributes:
posix.uname_result(sysname='Darwin', nodename='hostname.local', release='22.4.0', version='Darwin Kernel Version 22.4.0: Mon Mar  6 20:59:58 PST 2023; root:xnu-8796.101.5~3/RELEASE_ARM64_T6020', machine='arm64')
I suppose an extra if-statement in main.py would fix things, where it first checks for os.uname().machine and whether that starts with arm instead of os.uname().architecture.

v2.24.4 released.  I hope it fixes your problem @kvklink .


Invalid OWASP API1:2019 detection

I have an API that specifies a query parameter like this:
        - in: query
          name: location_id
          description: Optional parameter to limit results to a given org or ou location
          example: org:91522ce0-e52f-47d8-b034-5f3664f740e4
          schema:
            oneOf:
              - $ref: "#/components/schemas/org_id"
              - $ref: "#/components/schemas/ou_id"

where org_id is thus:
    org_id:
      type: string
      pattern: ^org\:[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$
      maxLength: 40
      minLength: 40
      example: org:91522ce0-e52f-47d8-b034-5f3664f740e4

and ou_id is thus:
    ou_id:
      type: string
      pattern: ^ou\:[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$
      maxLength: 39
      minLength: 39
      example: ou:36e41ce2-9675-410d-ade0-ffcc3d8007f9

but this is being flagged up as a OWASP API1:2019 issue.

Hey @pcolmer - thanks for the feedback, I will look into this for you


tablecloth.api/percentiles is not supposed to add a column

The following was reported by @lvh on a Slack thread:
https://clojurians.slack.com/archives/C0BQDEJ8M/p1727016052908239
tablecloth.api/percentiles is currently expected to add a column to a dataset, but this does not make sense.
https://github.com/scicloj/tablecloth/blob/1d501aa/src/tablecloth/api.clj#L1790
The percentiles computation indeed returns a collection of numbers, but the elements of that collection are simply the percentiles -- they do not correspond to the actual rows of the dataset, and thus they do not make sense as a new column.

It was (accidentally) added by a column project. Here is the full list, maybe it's good to review it again to avoid similar pitfalls.
https://github.com/scicloj/tablecloth/blob/1d501aaeb1096f124b96955afd79f9242ef0781d/src/tablecloth/api/api_template.clj#L136


[libuv] Update to 1.45.0

Updates libuv 1.44.2 -> 1.45.0

[x] Changes comply with the maintainer guide
[x] SHA512s are updated for each updated download
[x] The "supports" clause reflects platforms that may be fixed by this new version
[x] Any fixed CI baseline entries are removed from that file.
[x] Any patches that are no longer applied are deleted from the port's directory.
[x] The version database is fixed by rerunning ./vcpkg x-add-version --all and committing the result.
[x] Only one version is added to each modified port's versions file.

@microsoft-github-policy-service agree

Please get failure logs here. Please ping me if you need any help.
Note: I will be converting your PR to draft status. When you respond, please revert to "ready for review". That way, I can be aware that you've responded since you can't modify the tags.

@dg0yt Patches all consuming ports using old target name (uv, uv_a).

Great. However I think you need to restore some lines in the version tree. The PR must not change the existing version records.

I think there was a problem applying the vcpkg command (./vcpkg x-add-version --all), now I fixed it. Thank you for your review.