nuctl create project : stdout:\nUnable to find image 'gcr.io/iguazio/alpine:3.15

My actions before raising this issue

[] Read/searched the docs
[] Searched past issues

Expected Behaviour

Follwing the instruction 'Semi-automatic and Automatic Annotation' to install AI auto tools.
During step 'Create cvat project inside nuclio dashboard where you will deploy new serverless functions and deploy a couple of DL models',
command nuctl create project cvat should pass
Current Behaviour

raise error:
`sudo nuctl create project cvat
22.09.26 18:17:33.395     nuctl.platform.docker (W) Failed to run container {"err": "stdout:\nUnable to find image 'gcr.io/iguazio/alpine:3.15' locally\ndocker: Error response from daemon: Get "https://gcr.io/v2/\": net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers).\nSee 'docker run --help'.\n\nstderr:\n", "errVerbose": "\nError - exit status 125\n    /nuclio/pkg/cmdrunner/shellrunner.go:96\n\nCall stack:\nstdout:\nUnable to find image 'gcr.io/iguazio/alpine:3.15' locally\ndocker: Error response from daemon: Get "https://gcr.io/v2/\": net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers).\nSee 'docker run --help'.\n\nstderr:\n\n    /nuclio/pkg/cmdrunner/shellrunner.go:96\nstdout:\nUnable to find image 'gcr.io/iguazio/alpine:3.15' locally\ndocker: Error response from daemon: Get "https://gcr.io/v2/\": net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers).\nSee 'docker run --help'.\n\nstderr:\n", "stdout": "Unable to find image 'gcr.io/iguazio/alpine:3.15' locally\ndocker: Error response from daemon: Get "https://gcr.io/v2/\": net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers).\nSee 'docker run --help'.\n", "stderr": ""}
Error - exit status 125
/nuclio/pkg/cmdrunner/shellrunner.go:96
Call stack:
stdout:
Unable to find image 'gcr.io/iguazio/alpine:3.15' locally
docker: Error response from daemon: Get "https://gcr.io/v2/": net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers).
See 'docker run --help'.
stderr:
/nuclio/pkg/cmdrunner/shellrunner.go:96

Failed to run container with storage volume
...//nuclio/pkg/platform/local/client/store.go:430
Failed to run cat command
...//nuclio/pkg/platform/local/client/store.go:340
Failed to get projects
...//nuclio/pkg/platform/local/client/store.go:99
Failed getting projects
/nuclio/pkg/platform/local/platform.go:504
`
Possible Solution

I'm a newer to docker, error mentioned image 'gcr.io/iguazio/alpine:3.15', should i get it locally?
Steps to Reproduce (for bugs)

1.sudo docker-compose -f docker-compose.yml -f components/serverless/docker-compose.serverless.yml up -d
2.wget https://github.com/nuclio/nuclio/releases/download/<version>/nuctl-<version>-linux-amd64
3. ```
sudo chmod +x nuctl--linux-amd64
sudo ln -sf $(pwd)/nuctl--linux-amd64 /usr/local/bin/nuctl
4.`sudo nuctl create project cvat`

### Context
<!--- How has this issue affected you? What are you trying to accomplish?
Providing context helps us come up with a solution that is most useful in
the real world -->
Maybe it dosent matter to my annotation task,i want to finish the instruction of installing of components needed for semi-automatic and automatic annotation, i wish it could help to boost the speed of segmentation annotation

### Your Environment
<!--- Include as many relevant details about the environment you experienced
the bug in -->
- Git hash commit (`git log -1`):commit be5f9773d04727430aedb238e063ecee5118c2f6 (HEAD -> develop, origin/develop, origin/HEAD)
- Docker version `docker version` (e.g. Docker 17.0.05):20.10.18
- Are you using Docker Swarm or Kubernetes? No
- Operating System and version (e.g. Linux, Windows, MacOS):Ubuntu 20.04
- Code example or link to GitHub repo or gist to reproduce problem:[Semi-automatic and Automatic Annotation](https://opencv.github.io/cvat/docs/administration/advanced/installation_automatic_annotation/)
- Other diagnostic information / logs:
    <details>
    <summary>Logs from `cvat` container</summary>
    </details>

Hi @belkahorry
Unfortunately as our experience has shown nuclio behaves quite unstable and can be affected by different system/networks configurations.
I can suggest trying to pull the image manually with docker pull before building, to change network (sometimes just sharing wifi from your phone can help), or just try to perform the steps later.
Finally, I believe you should redirect this problem to nuclio developers: https://github.com/nuclio/nuclio, because we are not nuclio experts and you are trying to perform CVAT independent things (like creating a nuclio project).
Thank you, do not hesitate to reopen the issue if you believe it is CVAT related issue.

the same problem

the same problem

https://github.com/opencv/cvat/issues/5012


Not able to decode properly floats sent over CAN between Arduino Nano IoT and RPI

Hi,
My setup is made of the following components:

A RPI with Ubuntu 20.04 Server installed on it and the Seedstudio CAN hat mounted on it (successfully tested and validated)
An Arduino Nano IoT connected to the CAN SPI Click board from Mickroelectronica (successfully tested and validated) and the Adafruit BNO085 IMU fusion sensor

I have generated a suitable.dbc file using the tools provided by cantools.
Let us look at an example for simplicity, i.e. sending a quaternion through CAN. Each component of the quaternion is 32 bit, so I have to split the data into two messages, one containing the real part and the first component and then a second message containing the rest.
On the RPI side, I use the Python utilities of cantools to read messages (successfully).
On the Arduino side, I use the c-code generator tool of cantools for generating the packing functions.
I want to stress that I have successfully tested the functioning of the Arduino CAN library which I use for sending data and works perfectly fine.
The resulting packaged message is sent over CAN successfully, but the data sent does not correspond to the original floats.
There is probably some problem with how floats are handled on the Nano Iot or in the pack functions.
As an example, these are the frames I receive on the RPI side:
(2934.944351)  can1  RX - -  001   [8]  00 00 C0 9C 3D 00 00 A8    --------------> q_w=-1.2705494208814505e-21
(2934.944368)  can1  RX - -  002   [8]  00 C0 9C 3D 00 00 A8 3A   -------------->  q_i=-7.105479026610784e-15
where the message with ID 1 is meant to be the first half of the quaternion, while the ID 2 is associated with the rest.
As you can see, there is a strange pattern bewteen these two frame (C0 9C 3D, for example, appears again is the second message, left shifted by 1 byte).
The decoding works fine and it is coherent with the sent data package; it is the packaged data frame which is wrong, and I do not know why.
Any help is much appreciated.

Are you sure that you are packing the actual float/double value and not its address (pointer)?
Keep in mind that IEEE754 does not specify byte or word order. That is another catch when working with floats.
I would try to pack values that you know the byte representation of. 0.0, 1.0 and the like. Might make understanding what happens more easy.
You could also post code snips.

Thanks @juleq for your reply.
I'll try to send known values to see what happens.
To pack the data frame, I am using the auto-generated pack functions.
For example, this is the one for packing the first half of the quaternion:
   int quat_first_half_pack(
      uint8_t *dst_p,
      const struct quat_first_half_t *src_p,
      size_t size)
  {
    uint32_t q_i;
    uint32_t q_w;

    if (size < 8u) {
        return (-EINVAL);
    }

    memset(&dst_p, 0, 8);

    memcpy(&q_w, &src_p->q_w, sizeof(q_w));
    dst_p[0] |= pack_left_shift_u32(q_w, 0u, 0xffu);
    dst_p[1] |= pack_right_shift_u32(q_w, 8u, 0xffu);
    dst_p[2] |= pack_right_shift_u32(q_w, 16u, 0xffu);
    dst_p[3] |= pack_right_shift_u32(q_w, 24u, 0xffu);
    memcpy(&q_i, &src_p->q_i, sizeof(q_i));
    dst_p[4] |= pack_left_shift_u32(q_i, 0u, 0xffu);
    dst_p[5] |= pack_right_shift_u32(q_i, 8u, 0xffu);
    dst_p[6] |= pack_right_shift_u32(q_i, 16u, 0xffu);
    dst_p[7] |= pack_right_shift_u32(q_i, 24u, 0xffu);

    return (8);
}

and this is the function I use for sending the orientation over CAN:
void sendOrientationOverCAN(uint8_t *dst_p_first_half, uint8_t *dst_p_second_half,
                            struct whee_b_bot_imu_can_quat_first_half_t *src_p_first_half,  struct whee_b_bot_imu_can_quat_second_half_t *src_p_second_half,
                            struct orient_quat_t *quaternion) {

     src_p_first_half->q_w=quaternion->q_w;
     src_p_first_half->q_i=quaternion->q_i;
     src_p_second_half->q_j=quaternion->q_j;
     src_p_second_half->q_k=quaternion->q_k;

     whee_b_bot_imu_can_quat_first_half_pack(dst_p_first_half,src_p_first_half,64u);
     whee_b_bot_imu_can_quat_second_half_pack(dst_p_second_half,src_p_second_half,64u);

     CAN.sendMsgBuf(0x001, CAN_STDID, 8, dst_p_first_half);
     CAN.sendMsgBuf(0x002, CAN_STDID, 8, dst_p_second_half);

}

I checked that src_p_first_half actually contains the right float values, and indeed it does.
I really do not know if here I am doing something wrong with pointers/addresses.

The packing function looks good to me. Direct queries of member addresses avoid alignment issues you might have when working with offsets in structs.
Why does the send function take the dest buffers as parameters? Since they are probably not used outside, I would just make them static locals of the send function to minimize their scope. Or is that also generated?
As a next step I would overwrite the quaternion components with known values at the beginning of the send function and see whats happening on the bus. Next, I would print the dest bytes after sending each of the frames to verify that it equals the bytes that are being sent on the bus.

Yes, you are right; I can make them static locals for sure (and I will).
As soon as I can, I will try to overwrite those values assigning for example, 1.0 to q_w and 0.0 to q_i and I will see if they are packaged properly.
I've already perfomed the second check that you mentioned and the bytes received on the bus are exactly the same ones which are packaged in the dest object, so I would exclude problems on the CAN library. Just to be sure, I will perform that check again.
I will let you know what happens very soon.
Thanks for the help.
Ps. Could it also be a problem of how floats are handled on the Nano IoT (it has a SAMD21 Cortex®-M0+ 32bit low power ARM MCU processor)?

It is a modern core, little endian, without FPU and it will use a modern math lib to do the floats. I would not expect surprises there.

So, there is an update.
There was an error in my code: changing '''memset(&dst_p, 0, 8); ''' to ''' memset(dst_p, 0, 8);''' or ''' memset(dst_p[0], 0, 8);''' I am now able to send known floats in a reliable way.
There are some errors appearing when trying to decode numbers like, for instance, 0.0, which might appear something like 1e-38 on the RPI side (there is a conversion from float to double happening).
The problem is that, when sending the actual readings from the IMU (either quaternions, euler angles, gyro, etc...) I always get only part of the message right; for example, if sending a quaternion, I might get only a couple of components right, while the others are off. Sometimes some of the values become NaN.
This is quite strange, since I plot those values over serial right before packing and they are ok.
Any idea of what might be happening?
To prevent issues related to the timing I am doing all these tests plotting and sending values at 1 Hz.

What types are used in source, bus and destination?
What does the change look like?
E.g.
srcVal1 -> dstVal1
srcVal2 -> dstVal2
etc.
So what does one corrupted set look like at src and at dst?

In the source structures the used data type is float (the Nano IoT is a 32 bit board). The destination variables use uint8_t, which is then "expanded" to 32 bits with memset() .
The function which sends on the bus uses the following inputs sendMsgBuf(byte status, unsigned long id, byte ext, byte rtrBit, byte len, volatile const byte *buf) .
For example, to send the first half of the quaternion:  CAN.sendMsgBuf(msgIDs->quat_first_half_ID, 0, 8, dst_p_quat_first_half); where uint8_t *dst_p_quat_first_half;.
For reference, I have uploaded the code at https://github.com/AndPatr/WheeBBot-v1.0.0/blob/devel/Arduino/test_scripts/IMU_data_over_CAN_test/IMU_data_over_CAN_test.ino. This repo also contains the library I am using for sending messages over the bus.

In the weekend I will perform more detailed tests to better check the transition between the source variables and the destination ones

As a side note, I should point out that I have modified the Seed_Arduino_CAN library to work with the SPI-CAN shield I am using on the Nano IoT, since that chip uses a 10 MHz oscillator, which is relatively uncommon.
Basically, I added suitable bit timing register configs, which I computed using a tool from Kvaser at https://www.kvaser.com/support/calculators/bit-timing-calculator/. This tools does not have the MCP2515 option, so I computed the bit timings using the MCP2510. However, I don't think the problem lies there, since I am able to send known values correctly.
Here is the added configuration, taken from the mcp2515_can_dfs.h file:
#define MCP_10MHz_1000kBPS_CFG1 (0x00)
#define MCP_10MHz_1000kBPS_CFG2 (0x80)
#define MCP_10MHz_1000kBPS_CFG3 (0x01)
#define MCP_10MHz_500kBPS_CFG1 (0x00)
#define MCP_10MHz_500kBPS_CFG2 (0x92)
#define MCP_10MHz_500kBPS_CFG3 (0x02)
#define MCP_10MHz_250kBPS_CFG1 (0x00)
#define MCP_10MHz_250kBPS_CFG2 (0xB6)
#define MCP_10MHz_250kBPS_CFG3 (0x04)
#define MCP_10MHz_200kBPS_CFG1 (0x00)
#define MCP_10MHz_200kBPS_CFG2 (0xBF)
#define MCP_10MHz_200kBPS_CFG3 (0x07)
#define MCP_10MHz_125kBPS_CFG1 (0x01)
#define MCP_10MHz_125kBPS_CFG2 (0xB6)
#define MCP_10MHz_125kBPS_CFG3 (0x04)
#define MCP_10MHz_100kBPS_CFG1 (0x04)
#define MCP_10MHz_100kBPS_CFG2 (0x92)
#define MCP_10MHz_100kBPS_CFG3 (0x02)
#define MCP_10MHz_50kBPS_CFG1 (0x04)
#define MCP_10MHz_50kBPS_CFG2 (0xB6)
#define MCP_10MHz_50kBPS_CFG3 (0x04)
#define MCP_10MHz_40kBPS_CFG1 (0x04)
#define MCP_10MHz_40kBPS_CFG2 (0xBF)
#define MCP_10MHz_40kBPS_CFG3 (0x07)
#define MCP_10MHz_20kBPS_CFG1 (0x18)
#define MCP_10MHz_20kBPS_CFG2 (0x92)
#define MCP_10MHz_20kBPS_CFG3 (0x02)
#define MCP_10MHz_10kBPS_CFG1 (0x18)
#define MCP_10MHz_10kBPS_CFG2 (0xB6)
#define MCP_10MHz_10kBPS_CFG3 (0x04)
#define MCP_10MHz_5kBPS_CFG1 (0x31)
#define MCP_10MHz_5kBPS_CFG2 (0xB6)
#define MCP_10MHz_5kBPS_CFG3 (0x04)

Yeah, I am familiar with the China MPCs ;). Should be no issue. You would expect error frames if that was a problem.

Am 03.12.2021 um 12:22 schrieb AndPatr @.***>:

As a side note, I should point out that I have modified the Seed_Arduino_CAN library to work with the SPI-CAN shield I am using on the Nano IoT, since that chip uses a 10 MHz oscillator, which is relatively uncommon.
Basically, I added suitable bit timing register configs, which I computed using a tool from Kvaser at https://www.kvaser.com/support/calculators/bit-timing-calculator/. This tools does not have the MCP2515 option, so I computed the bit timings using the MCP2510. However, I don't think the problem lies there, since I am able to send known values correctly.
Here is the added configuration, taken from the mcp2515_can_dfs.h file:
#define MCP_10MHz_1000kBPS_CFG1 (0x00)
#define MCP_10MHz_1000kBPS_CFG2 (0x80)
#define MCP_10MHz_1000kBPS_CFG3 (0x01)
#define MCP_10MHz_500kBPS_CFG1 (0x00)
#define MCP_10MHz_500kBPS_CFG2 (0x92)
#define MCP_10MHz_500kBPS_CFG3 (0x02)
#define MCP_10MHz_250kBPS_CFG1 (0x00)
#define MCP_10MHz_250kBPS_CFG2 (0xB6)
#define MCP_10MHz_250kBPS_CFG3 (0x04)
#define MCP_10MHz_200kBPS_CFG1 (0x00)
#define MCP_10MHz_200kBPS_CFG2 (0xBF)
#define MCP_10MHz_200kBPS_CFG3 (0x07)
#define MCP_10MHz_125kBPS_CFG1 (0x01)
#define MCP_10MHz_125kBPS_CFG2 (0xB6)
#define MCP_10MHz_125kBPS_CFG3 (0x04)
#define MCP_10MHz_100kBPS_CFG1 (0x04)
#define MCP_10MHz_100kBPS_CFG2 (0x92)
#define MCP_10MHz_100kBPS_CFG3 (0x02)
#define MCP_10MHz_50kBPS_CFG1 (0x04)
#define MCP_10MHz_50kBPS_CFG2 (0xB6)
#define MCP_10MHz_50kBPS_CFG3 (0x04)
#define MCP_10MHz_40kBPS_CFG1 (0x04)
#define MCP_10MHz_40kBPS_CFG2 (0xBF)
#define MCP_10MHz_40kBPS_CFG3 (0x07)
#define MCP_10MHz_20kBPS_CFG1 (0x18)
#define MCP_10MHz_20kBPS_CFG2 (0x92)
#define MCP_10MHz_20kBPS_CFG3 (0x02)
#define MCP_10MHz_10kBPS_CFG1 (0x18)
#define MCP_10MHz_10kBPS_CFG2 (0xB6)
#define MCP_10MHz_10kBPS_CFG3 (0x04)
#define MCP_10MHz_5kBPS_CFG1 (0x31)
#define MCP_10MHz_5kBPS_CFG2 (0xB6)
#define MCP_10MHz_5kBPS_CFG3 (0x04)
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or unsubscribe.

"The destination variables use uint8_t, which is then "expanded" to 32 bits with memset()"
Could you show the code? Keep in mind that memcpy and memset work on a byte basis. So you could shoot yourself in the foot in two ways: Alignment in memory (compiler is free to align struct members on machine boundaries efficiently without telling you) and setting e.g. each byte in e.g. an int32_t to a certain value where you just meant to set one value to the overall int32_t.

Yes, you will find the complete and updated version of my arduino code at the repository link  https://github.com/AndPatr/WheeBBot-v1.0.0/blob/devel/Arduino/test_scripts/IMU_data_over_CAN_test/IMU_data_over_CAN_test.ino.
Hopefully it is organized and commented well enough to be easily readable. If not, I can send here parts of it which might be significant or even make a condensed version of it with a single message, instead of the whole database.

I have now removed most of the code and simplified it to better debug the issue.
Now I am only sending the first half of the quaternion (the code I am now using at https://github.com/AndPatr/WheeBBot-v1/tree/main/Arduino/test_scripts/IMU_data_over_CAN_test_simplified).
Source q_w and HEX:
Source q_w:	0.25677490	source q_i:	0.00390625
Packed HEX on the Nano IoT:	00-78-83-3E | 00-00-80-3B
Read msg on the RPI:  (6430.142733)  can1  RX - -  001   [8]  00 78 83 3E 00 00 80 3B
q_w:0.25677490234375 q_i:0.00390625
As you see, I am getting the values right, even if I move rapidly my IMU.
As soon as I try to add the second half, the values are completely wrong (there is also a NaN appearing sometimes). You can see the script I am using for this second case at https://github.com/AndPatr/WheeBBot-v1/tree/main/Arduino/test_scripts/IMU_data_over_CAN_test.

I just looked through the driver that you are using. You are using a wrapper that not only waits for copying the data into the MCP message box, but also for the box to be transmitted. So thats a defensive implementation, would not expect problem there.
Please post both frames, send and receive. So:
Sent bytes, frame 1 -> Received bytes, frame 1
Sent bytes, frame 2 -> Received bytes, frame 2
Do you use an MCP with the RPI, too? I assume the mainline socketcan driver for the MCP?

Also test the following:

Does sending only the 2nd half work?
Do both sends fail when both are enabled?
If only the last one fails: What is the behavior when you reverse order?
Does adding a delay in
between change outcome?

I will perform the tests you suggest right now.
In the meantime, the shield I am using on the RPI is https://wiki.seeedstudio.com/2-Channel-CAN-BUS-FD-Shield-for-Raspberry-Pi/, which uses the MCP2517FD or MCP2518FD (right now I do not remember which one).

Results of sending both frames:
FIRST FRAME->
Source: q_w: 0.25445557;  q_i:-0.06903076
Sent frame: 0-48-82-BF | 3C-60-ED-FF
Received frame (on RPI): 001   [8]  00-48-82-BF | 3C-60-ED-FF
Decoded value(on RPI): q_w: -1.017822265625; q_i: nan
SECOND FRAME->
Source:  q_j: 0.01995850; q_k:	0.96441650
Sent frame: 48-82-BF-3C | 60-ED-FF-3F
Received frame (on RPI): 002   [8]  48-82-BF-3C | 60-ED-FF-3F
Decoded value(on RPI): q_j: 0.02337755262851715; q_k: 1.9994316101074219

Results of the tests you suggested:

"Does sending only the 2nd half work?"-> Yes, it works
"Do both sends fail when both are enabled?"->As you see in the previous message, both sends fail (meaning the values are wrong)
"If only the last one fails: What is the behavior when you reverse order?"-> both fail

For the last one, i.e. the delay, there is something interesting which happens.

"Does adding a delay in
between change outcome?"-> Apparently it does not (I tried different amount of delay in different positions).

 The only change was to put the second memset(dst_p_second, 0, 8); after the memcpy() of the first frame.
Simply adding a delay between them is not sufficient to make the second frame right.
A really curious behaviour I'd say.

I have also tried to split the packaging into a function for the first half and a function for packing the second, but I still get only the second frame right.
I have also tried to remove all instances of serial prints (just to try), but I still get a completely off first frame.

Try the following on both hosts:
uint32_t test = 0x004882BF;
float ftest = (float)&test;
print ftest;
This is just setting the bytes for 0.25445557 directly in an unsigned type and reinterpret them as float.
 Please verify that.
PS: You can also cast the frame bytes:
byte buffer[] = {0x00, 0x48, 0x82, 0xBF};
float ftest = (float)buffer;
To be clear: Such reinterpreting casts are not recommended because of their portability issues and the surprises that arch/compiler might have in store for you, but its a good test to see whats happening.

Am 04.12.2021 um 10:09 schrieb AndPatr @.***>:

Results of sending both frames:
FIRST FRAME->
Source: q_w: 0.25445557; q_i:-0.06903076
Sent frame: 0-48-82-BF | 3C-60-ED-FF
Received frame (on RPI): 001 [8] 00-48-82-BF | 3C-60-ED-FF
Decoded value(on RPI): q_w: -1.017822265625; q_i: nan
SECOND FRAME->
Source: q_j: 0.01995850; q_k: 0.96441650
Sent frame: 48-82-BF-3C | 60-ED-FF-3F
Received frame (on RPI): 002 [8] 48-82-BF-3C | 60-ED-FF-3F
Decoded value(on RPI): q_j: 0.02337755262851715; q_k: 1.9994316101074219
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or unsubscribe.

Try the following on both hosts:
uint32_t test = 0x004882BF;
float ftest = (float)&test;
print ftest;
This is just setting the bytes for 0.25445557 directly in an unsigned type and reinterpret them as float.
 Please verify that.
PS: You can also cast the frame bytes:
byte buffer[] = {0x00, 0x48, 0x82, 0xBF};
float ftest = (float)buffer;
To be clear: Such reinterpreting casts are not recommended because of their portability issues and the surprises that arch/compiler might have in store for you, but its a good test to see whats happening.

I just tried ```
uint32_t test = 0x004882BF;
float ftest = ((float)&test);
When I print to serial, I only get 0.00000000.
However, the second method using the buffer works and gives me an output of 1.01782227

If I try the first on the RPI, I get 6.65906e-39.
As of now, I was not able to execute the second command because it gives me compilation issues ( error: cannot convert ‘int’ to ‘std::byte’).

Sorry, mixed up BE and LE in the test variable:
uint32_t valueLE = 0x3e824800;
float ftest = *((float*)&valueLE);

printf("%f\n", ftest);
printf("%08x\n", *((uint32_t*)&ftest));

uint8_t bytesLE[] = {0x00, 0x48, 0x82, 0x3E};
ftest = *((float*)bytesLE);

printf("%f\n", ftest);
printf("%08x\n", *((uint32_t*)&ftest));

uint8_t bytesBE[] = {0x3E, 0x82, 0x48, 0x00};
ftest = *((float*)bytesBE);

printf("%f\n", ftest);
printf("%08x\n", *((uint32_t*)&ftest));

The memset is curious indeed. It should have no effect at all since it is unconditionally overwritten by memcpy. Maybe comment them out for now.

Ok, on a big screen now. Found it. Your comment is lying :)
uint8_t dst_p_quat_first_half;// 8 byte data destination variable for CAN msgs
uint8_t dst_p_quat_second_half;// 8 byte data destination variable for CAN msgs

You are only reserving one byte of data and using it as if you have reserved 8. Mem corruption.
Should be:
uint8_t dst_p_quat_first_half[8]; // 8 byte data destination variable for CAN msgs
uint8_t dst_p_quat_second_half[8]; // 8 byte data destination variable for CAN msgs
Be sure to just use dst_p_quat_first_half when passing it around (and not &dst_p_quat_first_half) since it already is a pointer.

Wow, that was it.
Now it all works flawlessly.
Your really saved me. Thanks for your help and support.
If my project will ever work, that will also be thanks to you and the awesome cantools utility.

Cool. Pitch your project here once its up and running. Happy hacking.

I always suffer when I use the Arduino IDE.
 It makes it easy to set up your project into modules to separate your systems concerns. And VS Code, code completion and error checking are awesome.
It supports a lot of platforms.


Select to accept a function for rendering the items.

First of all, I love your work. It is really great. But I have one feature request.
It would be nice if Select component could have a prop for rendering the items and selected item. e.g.
renderItem(item, index) {   return (<Text>{item}</Text>); }
This is to replace the getItemText prop.
This open up possibility to make a picker for Images and others.
I saw PopoverPickerItem already supports this.

Supported, view SelectExample.js for example https://github.com/rilyu/teaset/commit/8c10f86c61d0aa24d3d3e74e40ef6875e0310980

Awesome. I have checked it out. It works. Thanks a lot man!


Go: Lint check in CI

AC:

Staticcheck seems to be the new default linter of choice, but may have issues handling generate code. Determine best golang linter that will fit our use case that we can standardize on
Project is linted in CI and needs to pass for PR to be considered able to merge

https://github.com/shapeshift/unchained/issues/320


Build requirements are exact version pins?!

Hello, It appears that pyproject.toml has this in the build requirements:
    "numpy==1.14.5; python_version=='3.6' and platform_system!='AIX'",
    "numpy==1.14.5; python_version=='3.7' and platform_system!='AIX'",
    "numpy==1.17.3; python_version>='3.8' and platform_system!='AIX'",
    "numpy==1.16.0; python_version=='3.6' and platform_system=='AIX'",
    "numpy==1.16.0; python_version=='3.7' and platform_system=='AIX'",
    "numpy==1.17.3; python_version>='3.8' and platform_system=='AIX'",

However this will yield horrible build times if you have a different numpy version installed. Perhaps what was meant there is a minimum version constraint (eg: >=)?

Hi @ionelmc please have a look at #12803 and #12846 for some context.

The install requirements do not have any upper constraint for numpy, and in some cases it's not even present in that list. One of these is wrong. Either the build reqs should have min constraints, or the install requirements have upper/lower constraints (if ABI compatibility is really a problem).

The install requirements do not have any upper constraint for numpy, and in some cases it's not even present in that list. One of these is wrong. Either the build reqs should have min constraints, or the install requirements have upper/lower constraints (if ABI compatibility is really a problem).

Yes, the install requirements need a significant update including upper bounds, I'm just doing that in gh-12862.
Build-time requirements in pyproject.toml are correct.

However this will yield horrible build times if you have a different numpy version installed.

We're in the world of isolated builds now, installed numpy versions will not be used for a pip install scipy or pip install . build.
There's nothing left to do here other than finish up gh-12862, so I'll close this issue. If you have more questions or comments, feel free to continue the conversation of course.

oops I saw that last night but my brain was overloaded so I forgot about that. Sorry for not drawing attention to that Ralf.


Don't link build->deploy with test

We have a few flaky tests that fail occasionally. This isn't much of a concern during PR stage, but it causes issues during releases where it stops the binary from being built + uploaded.
This PR updates the workflow so that the build and deploy steps happen regardless of test failure.
Permanent fix for https://github.com/gruntwork-io/terragrunt/issues/1829

Thanks for review! Merging this in now - hopefully this stabilizes our asset release pipeline.


Removes absolete warning in android

Duplicate of https://github.com/oblador/react-native-vector-icons/pull/628 et al


Data entry displaying as 1 day prior to data entered

Front end input: February 16 --> Data Stored February 15
@EBogdanov2 this is a great first issue if you have any time over the next couple days!
Important Info

Using redux-form
Using react-datepicker
Using moment.js (date-time library)
inputValueFormat="YYYY/MM/DD"

I think this is a timezone issue!  Not sure what's causing the exact problem though.

:'( let's help cory

Fixed

Time zone issue still happening!  Date saved in database is 1 day prior to date selected in time picker.

Mongodb / Moment.js is saving dates correctly in offline local database, but live database is still having dates saved 1 day prior issue.


Add languages to metadata

Summary
Adds languages to element metadata.
@dataclass
class ElementMetadata:
      coordinates: Optional[CoordinatesMetadata] = None
      data_source: Optional[DataSourceMetadata] = None
      filename: Optional[str] = None
      file_directory: Optional[str] = None
      last_modified: Optional[str] = None
      filetype: Optional[str] = None
      attached_to_filename: Optional[str] = None
      parent_id: Optional[Union[str, uuid.UUID, NoID, UUID]] = None
      category_depth: Optional[int] = None
+   languages: Optional[List[str]] = None
...

Testing
elements = partition(filename=filename, strategy="ocr_only", languages=["eng"])
assert elements[0].metadata.languages == ["eng"]

@shreyanid, can you verify, does your branch currently support language auto-detection?

This will likely not past ingest tests when moving to merge into main. I suspect that this is because it will include languages in the outputs for many documents which currently do not have the language field in the json it's being tested against

@shreyanid Before we merge this could you confirm this mapping of what the expected results are for each combination of strategy and present language parameter? I want to ensure our test coverage properly represents what we're expecting.
Expected language metadata for an english document

Strategy
Auto
Fast
OCR Only
Hi Res

Language Param not Provided
["eng"] if Fast or OCR Only
["eng"]
["eng"] (default)
X

Language Param = ["eng"].
["eng"]
["eng"]
["eng"]
["eng"]

The row where English is provided looks correct. When the language param is not provided, I believe the results should also all be English (including hi_res).
When the language param is not supplied, the default value is "auto" language, which calls the language detection package to determine that the document is in fact english. This flow is strategy independent, but if you have seen otherwise let me know.

Is it dependent on the document type at all? Or should this be the case for all partitioners of all strategies. You mentioned earlier that auto-detection is only available for partition_text. I'm trying to prevent undefined behavior where a user either does or doesn't provide a language and the language that comes in the metadata matches or not. Under what situations is the language being changed, assumed or processed based on what was provided -- how can we make that obvious to users and test each case? For example, if I partition a word document and specify languages=["fra"] under the current implementation what's the flow for this being processed?

Under what cases is auto-detection - OR - a default language being assigned? What strategies and what partitioners?
Does a user provided parameter always override auto-detection or default languages?
Are there cases where a user provides a languages list where it isn't used? What strategies and what partitioners?
Should metadata always match what a user provided, whether the user's input was used or not?

good questions!
No, it is mostly not dependent on document type. The language detection function only takes in text, which is just from whatever text is generated by partitioning a document. Since we need text available for language detection, this change will initially only be applied to non-image based documents (everything but pdf and image). My current PR that you are merging this one into only made changes to partition_text, but a follow on PR will be made to continue this pattern to all other non-image-based document partition functions. So yes, the auto language flow I described should be the case for all strategies, and all partitioning functions except pdf and image (not due to the strategy involved, but due to the lack of text available before OCR to do detection).
For your example, partition_docx does not currently implement language detection, but following the same pattern established with partition_text, the flow would simply take the user's input (since it does not contain "auto" in languages), standardize it to the 3-letter ISO 639-3 code if not already standardized, and return it. No language detection will occur in the flow where a user specifies language input.
So the language detection only occurs when the user does not specify a list of languages (or in some weird case where the user specifies "auto" in the list along with other languages, at which point the other inputted languages will be ignored).

auto detection occurs when "auto" is present somewhere in the parameter. This is the default behavior unless overridden by the user. ex. ["auto"], ["eng", "auto"] or no provided input (which defaults to ["auto"]) all lead to auto language detection. This occurs for all strategies, and all documents that have text available (not pdf or image)

2 and 3. A user provided parameter always overrides auto-detection. The ONLY case where it does not is if the user provided parameter contains the value "auto" (which would be weird to include along with other languages, but it is a possibility).
ex.
user provides ["en"] or ["rus", "spa"] -> no language detection
user provides ["auto"] or ["auto", "eng"] -> language detection is triggered by the "auto" value

Metadata will match the output of the detect_languages function, which follows the flow described above. This output should be standardized, and should NOT contain "auto" since a language will have been detected instead. So no, it may not always exactly match the user input, depending on standardization or the presence of "auto".

Ok, I think I'm ok with us merging this as-is with the caveat that in your branch there will be temporary logging that let's a user know that they've supplied a language parameter that's not being used by the partitioner. Also, any additional tickets cut to add the language detection functionality include updating the language metadata field for those partitioners.

Will reflect the logger warning before merging my change, and will include updating the metadata when new partitioners implement the language detection flow!


cast double to long

    auto y =<PHONE_NUMBER>.0;
    auto z = cast(long) y;
    print("$(y), $(z)");

prints<PHONE_NUMBER>.000000,<PHONE_NUMBER>961260544

should be fixed now!


Gamma controls

Is it possible to control gamma value for tone mapping?

At the moment it is not. The feature would be easy to add in principle, but so far I have not come up with a way to integrate the slider into the UI that I am happy with. It would have to be hidden whenever non-gamma tonemapping is selected without shifting around all the other controls in an annoying manner.

Thanks for quick response!
Maybe something like splitting exposure slider layout in half and showing two sliders instead of one for that case?

That's actually not a bad idea! I implemented the change, although I chose to make the offset slider smaller due to its smaller relevance compared to exposure. Also opted against hiding in the end (it still felt jarring) and went with disabling instead.
Lmk if you have any further feedback or suggestions before I merge! :)

That seems perfect! Thanks :)


[Backport release-21.05] texlive: allow substitutes for texlive packages

Motivation for this change
Backport of #126458 to 21.05.
Things done

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

[ ] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
21.11 Release Notes

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[ ] Fits CONTRIBUTING.md.

Oh, I could have been more patient and save myself the trouble – closing in favour of #126866.


[Suggestion] Add small fixes menu - incl fix such as touchpad scrolling speed

Is your feature request related to a problem? Please describe.
On my old laptop (Lenovo Legion 2019) I ran into an issue after installing certain distros, such as Fedora 39 - the touchpad scroll speed was waaaay too fast everywhere - text editor, browser etc. Unless something changed between Fedora 39 and Fedora 40, by default there is no option to change that. After searching for some time I found this reddit post by u/Insulifting pointing to this.
Creating the libinput.conf file in /etc, adding scroll-value=0.23 and following the steps in the post, it finally worked.
I don't know how often people run into this issue. but maybe having some other small fixes like this could be useful.

This is a particular, a gnome issue. The philosophy they have that they will provide simplicity, which actually breaks functionality most of the time. Btw I had this issue too on Gnome, So on any other desktop environment there is a toggle in settings for this take:- KDE, Cosmic, and on most Window Managers you can change it in config files. As there is so much complexity and so many different ways to do it on Different configurations, doing it here isn't feasible.

I see, thanks. I had no idea it was a GNOME specific issue.

You may close this issue now


showNextButton property for hiding next button

It would be useful having showNextButton property
I tried to set empty string for nextBtnLabel but it is still clickable

You can use showDoneButton={false} but it also hides Done text.


allows sending jenkins metric healthcheck

Metrics plugin has /metrics and /healthcheck endpoints. This allows
sending data from /healthcheck endpoint as DataDog service_check.

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.


Run Copy Certs for Cert Manager

This should close #78 by adding the init container when cert manager is being used.

Can you rebase this please and then we'll take a look


Blockchain - Added flagkryptering writeup

Really great writeup! I just made a few comments, but otherwise great job!
It was an interesting read and looked like a fun challenge! 😄

As a recommendation, If you want to render it for yourself, whilst writing, you can clone the CTF blog and checkout your local branch in the git submodule! 🙂


Create separate go module for proto files

Redoing this due to eventual merge conflict after branch got way out of date.
resolves #5402
Proceeding carefully with one server at a time per commit.

Thanks for picking this up again. Could you perhaps run some of the checks (like make lint and make build and make unit pkg=... case=_NONE_ [compile unit tests only, without running them]) locally to not flood our GitHub Actions with tasks? Every push triggers a full run of the CI/CD pipeline.

I mean you can create commit by commit, just not push every time you create a new commit. But instead only push everything once you have the full list of commits ready.

@guggero by the time I finished it there was another 5 commits and another merge conflict I had to fix. This current change set passes the basic things you specified, running full make check but really there should be no issues, it was just moving things around and fixing references.

What's the goal here? Each sub-server was already in its own folder? Or did you run into issues with the prior attempt with the compiled protos living in the same folder?

What's the goal here? Each sub-server was already in its own folder? Or did you run into issues with the prior attempt with the compiled protos living in the same folder?

The point of the issue was to allow import of the protobuf generated code without pulling in and compiling anything from the rest of LND.
I forgot to add the go.mod in lnrpc as was discussed previously by @guggero, though I don't think it's necessary for the goal of avoiding unnecessary compilation by consuming modules.
The layout of this lnrpc and the protobufs is not as per recommended for use with protobuf generated code. In fact, usually the protos go in one place, the generated code goes in separate modules each, and consuming code is separate. So for my 2 cents it's not ideal yet either.
What do you think?

So if all these new packages don't have a go.mod (making it a module) then it won't address the dependnacy/compilation issue. AFAICT, in order to address this, both the RPC sub-servers and the generated code need to live in either the same (per sub-server), or distinct modules.
As an example check out this module: https://github.com/lightningnetwork/lnd/blob/master/queue/go.mod. It has no deps, so someone can import it and not bring it all of lnd. If it didn't have a go.mod, then they'd also depend on everything that lnd depended on.

So if all these new packages don't have a go.mod (making it a module) then it won't address the dependnacy/compilation issue. AFAICT, in order to address this, both the RPC sub-servers and the generated code need to live in either the same (per sub-server), or distinct modules.
As an example check out this module: https://github.com/lightningnetwork/lnd/blob/master/queue/go.mod. It has no deps, so someone can import it and not bring it all of lnd. If it didn't have a go.mod, then they'd also depend on everything that lnd depended on.

As the code stands prior to this change, if you import lnrpc/whateverrpc it will include everything in, for example https://github.com/lightningnetwork/lnd/blob/master/lnrpc/chainrpc/chainnotifier_server.go#L16
ie:
	"github.com/lightningnetwork/lnd/chainntnfs"
	"github.com/lightningnetwork/lnd/lnrpc"
	"github.com/lightningnetwork/lnd/macaroons"

But chainnotifier.pb.go https://github.com/lightningnetwork/lnd/blob/master/lnrpc/chainrpc/chainnotifier.pb.go#L9 does not import anything from lnd
https://github.com/lightningnetwork/lnd/pull/6835/commits/ef2150d1b2f007b4d77e08067a21f5992a21c835#diff-e3cd5381b1670fcfc2607787f24e9ff9bdc88f4e3f34cb985bab655480303322
I forgot to add the module. You can see now it does not induce the import of anything from lnd that is not local to the module path:
module github.com/lightningnetwork/lnd/lnrpc

go 1.18

require (
	github.com/grpc-ecosystem/grpc-gateway/v2 v2.11.2
	google.golang.org/grpc v1.48.0
	google.golang.org/protobuf v1.28.1
)

require (
	github.com/golang/protobuf v1.5.2 // indirect
	golang.org/x/net v0.0.0-20220624214902-1bab6f366d9e // indirect
	golang.org/x/sys v0.0.0-20220610221304-9f5ed59c137d // indirect
	golang.org/x/text v0.3.7 // indirect
	google.golang.org/genproto v0.0.0-20220805133916-01dd62135a58 // indirect
)

There needs to be a replace directive in the root go.mod to account for this.

Further, due to differences between 1.16 and 1.17 there is another update to the root go.mod and go.sum to account for this.

Sorry for the confusion. I already did all this before in the previous PR but ten tons of PRs got merged up and it caused a merge conflict. Thus I replayed this all today to fix the problem. Everything should be correct now, unless yet more merge conflicts have occurred due to changes in the RPC servers in the last 9 hours.

I've been trying to get this merged now almost going on a month. I'm about to give up.

I give up.


[stable/elastalert] Deprecate chart

Signed-off-by: Jason Ertel<EMAIL_ADDRESS>
Is this a new chart

NOTE: We're experiencing a high volume of PRs to this repo and reviews will be delayed. Please host your own chart repository and submit your repository to the Helm Hub instead of this repo to make them discoverable to the community. Here is how to submit new chart repositories to the Helm Hub.

What this PR does / why we need it:
Deprecate this chart and refer users to the new Codesim LLC repository.
Which issue this PR fixes
(optional, in fixes #<issue number>(, fixes #<issue_number>, ...) format, will close that issue when PR gets merged)

fixes #

Special notes for your reviewer:
Checklist
[Place an '[x]' (no spaces) in all applicable fields. Please remove unrelated fields.]

[x] DCO signed
[x] Chart Version bumped
[x] Variables are documented in the README.md
[x] Title of the PR starts with chart name (e.g. [stable/mychartname])

/lgtm


rtsp problem with java

Hi,
I'm trying (using java) to get the h264 stream coming from an IP camera via RTSP:
jdk1.8.0_45
my OS is windows 7.
I'm using opencv 3.1.0
I'm not able to open the stream.
This is my code:
//        System.loadLibrary(Core.NATIVE_LIBRARY_NAME);
System.load("D:\opencv_3.1.0\opencv\build\java\x64\opencv_java310.dll");
    VideoCapture camera = new VideoCapture();

    camera.open("rtsp://xxxx:yyyy@zzzz@<IP_ADDRESS>/onvif/profile2/media.smp");

    if (camera.isOpened())
    {
        System.out.println("Video is captured");
    }
    else
    {
        System.out.println("Video is not captured");
    }

Clearly I have always the output "Video is not captured".
Where is my mistake?
Thanks

There is a possible problem with implicit loading of opencv_ffmpeg310_64.dll. You need to put it into PATH (environment variable) locations or near opencv_java310.dll.


Add images to the Collection pages

Done when all the collection pages have the image files on S3 and are verified to be on the website.
(Splash and Logo are optional... but we need to distinguish an explicit decision from "oh, we didn't get around to it.")
To get a list from S3:
$ aws s3 ls --recursive wgbhstocksales.org/content | grep -v '/$'

NOVA

[x] Homepage thumb

[x] Splash

[x] Logo w/ alpha

[ ] Thumb1

[ ] Thumb2

[ ] Thumb3

Frontline

[x] Homepage thumb

[x] Splash

[x] Logo w/ alpha

[ ] Thumb1

[ ] Thumb2

[ ] Thumb3

AMEX

[x] Homepage thumb

[ ] Splash

[x] Logo w/ alpha

[ ] Thumb1

[ ] Thumb2

[ ] Thumb3

Open Vault

[ ] Homepage thumb

[x] Splash

[ ] Logo w/ alpha

[x] Thumb1

[ ] Thumb2

[ ] Thumb3

In The News

[ ] Homepage thumb

[ ] Splash (MAYBE VIDEO?)

[ ] Thumb1

[ ] Thumb2

[ ] Thumb3

AAPB

[ ] Homepage thumb

[ ] Splash

[ ] Logo w/ alpha

[ ] Thumb1

[ ] Thumb2

[ ] Thumb3

Boston

[ ] Homepage thumb

[ ] Thumb1

[ ] Thumb2

[ ] Thumb3

Digital Clips

[ ] Homepage thumb

[ ] Splash

[ ] Thumb1

[ ] Thumb2

[ ] Thumb3

Julia Child

[ ] Homepage thumb

[x] Splash

[ ] Thumb1

[ ] Thumb2

[ ] Thumb3

WGBH Limited Series

[ ] Homepage thumb

[ ] Splash

[ ] Thumb1

[ ] Thumb2

[ ] Thumb3

Music

[ ] Homepage thumb

[ ] Thumb1

[ ] Thumb2

[ ] Thumb3

Sports

[ ] Homepage thumb

[ ] Thumb1

[ ] Thumb2

[ ] Thumb3

@AlisonCSmith is this checklist useful? If so, can we use it to track the progress of getting proper image URLs in place. If not, can we just close this ticket?

I will run through this list with the latest from master

there are 4 remaining items that I think we want to finish, but I made new tickets for them in #231, #234, #235, and #236. Closing this in favor of those.


Appstudio update test-component-pac-ngql

Pipelines as Code configuration proposal

Pipelines as Code CI/test-component-pac-ngql-on-pull-request has successfully validated your commit.

StatusDurationName

✅ Succeeded
7 seconds
appstudio-init

✅ Succeeded
10 seconds
clone-repository

✅ Succeeded
9 seconds
appstudio-configure-build

✅ Succeeded
33 seconds
build-container

✅ Succeeded
8 seconds
show-summary


🌟Feature request: Allowing bring your own store for disabled

Is your feature request related to a problem? Please describe.
I want to control whether a component is disabled based on certain condition. For example, make the Collapsible disabled, when condition X is not met.
Describe the solution you'd like
I want to bring my own store for disabled props, just like open.
For example I want to use Writable for disabled
Describe alternatives you've considered
Passing the value of store into builder, but that is not reactive:
const disabled = writable(false)

// ...

createCollapsible({
  disabled: $disabled
})

// ...

disabled.set(true) //Doing this would update the store, but would not make the component disabled

Additional context
Add any other context or screenshots about the feature request here.

Hey! I believe there is an alternative you haven't tried:
const { options: disabled } = createCollapsible()

// ...

$: disabled.set(condition)

Nonetheless, I agree with you that it'd be nice to allow passing in your own store in these situations. WIll leave this open!

Indeed, I havn't tried that option yet, I will do it and come back to you, thank you so much. And yes being able to pass a store initially will be great

Closing as I figure you'd probably need it for every option, and that'd be a nightmare for us to manage. Runes will also probbly solve this.


argo install needs to also install the UI

argo install should also create and delete the deployment required to run the UI.

Fixed in 8ab1d2e


Rewrite the README in English

Thanks for DeminEmojis,
In order to improve the understanding of the application I thought we could use English for the main README.md, and create several other README.md for translation (e.g. README.fr.md, README.it.md, etc.)
Also, I think that we need to call the application DeminEmojis instead of DéminEmojis. The accents are quite restrictive as an application name.
What do you think?

It's a great idea. But the name in French of this game is DéminEmojis. The name in English is Emojisweeper.


Enyaq: Error when querying "get_charging" and charing cable is connected but stopped

following error happens, when my enyaq is connected to the charging cable, but the wallbox does not delivery any power (e.g. when doing overflow-charging by my PV and there is no sun)
Failed to load data from url /v1/charging/xxxxxxxxxxxxxx. Return value was '{"isVehicleInSavedLocation":false,"status":{"chargingRateInKilometersPerHour":0.0,"chargePowerInKw":0.0,"remainingTimeToFullyChargedInMinutes":0,"battery":{"remainingCruisingRangeInMeters":192000,"stateOfChargeInPercent":45}},"settings":{"targetStateOfChargeInPercent":80,"preferredChargeMode":"MANUAL","availableChargeModes":["MANUAL"],"chargingCareMode":"DEACTIVATED","autoUnlockPlugWhenCharged":"OFF","maxChargeCurrentAc":"REDUCED","batterySupport":"DISABLED"},"carCapturedTimestamp":"2024-10-02T22:00:21Z","errors":[{"type":"STATUS_OF_CHARGING_NOT_AVAILABLE","description":"Status of charging is not available."}]}'
Traceback (most recent call last):
File "", line 24, in mashumaro_from_json
File "", line 14, in mashumaro_from_dict_json
mashumaro.exceptions.MissingField: Field "state" of type ChargingState is missing in ChargingStatus instance
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/home/admin/.local/lib/python3.12/site-packages/myskoda/rest_api.py", line 41, in _make_get_request
data = deserialize(response_text)
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "", line 26, in mashumaro_from_json
mashumaro.exceptions.InvalidFieldValue: Field "status" of type Optional[ChargingStatus] in Charging has invalid value {'chargingRateInKilometersPerHour': 0.0, 'chargePowerInKw': 0.0, 'remainingTimeToFullyChargedInMinutes': 0, 'battery': {'remainingCruisingRangeInMeters': 192000, 'stateOfChargeInPercent': 45}}
Traceback (most recent call last):
File "", line 24, in mashumaro_from_json
File "", line 14, in mashumaro_from_dict_json
mashumaro.exceptions.MissingField: Field "state" of type ChargingState is missing in ChargingStatus instance
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/home/admin/Java/myskoda/myskoda_get_all_info.py", line 114, in
loop.run_until_complete(main())
File "/usr/local/lib/python3.12/asyncio/base_events.py", line 685, in run_until_complete
return future.result()
^^^^^^^^^^^^^^^
File "/home/admin/Java/myskoda/myskoda_get_all_info.py", line 63, in main
charging: Charging = await myskoda.get_charging(VIN)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/admin/.local/lib/python3.12/site-packages/myskoda/myskoda.py", line 163, in get_charging
return await self.rest_api.get_charging(vin)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/admin/.local/lib/python3.12/site-packages/myskoda/rest_api.py", line 59, in get_charging
return await self._make_get_request(f"/v1/charging/{vin}", Charging.from_json)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/admin/.local/lib/python3.12/site-packages/myskoda/rest_api.py", line 41, in _make_get_request
data = deserialize(response_text)
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "", line 26, in mashumaro_from_json
mashumaro.exceptions.InvalidFieldValue: Field "status" of type Optional[ChargingStatus] in Charging has invalid value {'chargingRateInKilometersPerHour': 0.0, 'chargePowerInKw': 0.0, 'remainingTimeToFullyChargedInMinutes': 0, 'battery': {'remainingCruisingRangeInMeters': 192000, 'stateOfChargeInPercent': 45}}
Unclosed client session
client_session: <aiohttp.client.ClientSession object at 0xf5bc6120>
Unclosed connector
connections: ['[(<aiohttp.client_proto.ResponseHandler object at 0xf5bdf660>,<PHONE_NUMBER>81557)]', '[(<aiohttp.client_proto.ResponseHandler object at 0xf5bdfcc0>,<PHONE_NUMBER>32161)]']
connector: <aiohttp.connector.TCPConnector object at 0xf5bc60c0>
Task was destroyed but it is pending!
task: <Task pending name='Task-15' coro=<AsyncioPahoClient._loop_misc() running at /home/admin/.local/lib/python3.12/site-packages/asyncio_paho/client.py:363> wait_for=>
Exception ignored in: <function Client.del at 0xf5c680c8>
Traceback (most recent call last):
File "/home/admin/.local/lib/python3.12/site-packages/paho/mqtt/client.py", line 636, in del
File "/home/admin/.local/lib/python3.12/site-packages/paho/mqtt/client.py", line 675, in _reset_sockets
File "/home/admin/.local/lib/python3.12/site-packages/paho/mqtt/client.py", line 668, in _sock_close
File "/home/admin/.local/lib/python3.12/site-packages/paho/mqtt/client.py", line 2200, in _call_socket_close
File "/home/admin/.local/lib/python3.12/site-packages/myskoda/mqtt.py", line 179, in _on_socket_close
File "/home/admin/.local/lib/python3.12/site-packages/myskoda/mqtt.py", line 148, in reconnect
File "/usr/local/lib/python3.12/asyncio/tasks.py", line 417, in create_task
RuntimeError: no running event loop
sys:1: RuntimeWarning: coroutine 'Mqtt.connect' was never awaited

i propose to add the missing field by reading from the aircondition.
eg.
myVehicle: Vehicle = await myskoda.get_vehicle(VIN)
  if myVehicle.charging.status.state == ChargingState.INVALID and myVehicle.air_conditioning.charger_connection_state == ConnectionState.CONNECTED:
      print("OVERRIDE myVehicle.charging.status.state with '" + ChargingState.READY_FOR_CHARGING + "'")
      myVehicle.charging.status.state = ChargingState.READY_FOR_CHARGING

Can you please check with the most recent version of the library?
Thanks!

Still the same (Commit# (latest one) 8582861e18f921cbab504c26e3b2a4542364ff1a)
pydev debugger: starting (pid: 17484)
DEBUG:asyncio:Using selector: SelectSelector
INFO:myskoda.myskoda:IDK Authorization was successful.
DEBUG:myskoda.mqtt:Connecting to MQTT on mqtt.messagehub.de:8883...
DEBUG:myskoda.mqtt:Using user id 6f5bdac1-40b0-48a8-9d9e-05c8a7b0d1cd...
INFO:myskoda.mqtt:MQTT Connected.
DEBUG:myskoda.mqtt:Subscribing to topic: 6f5bdac1-40b0-48a8-9d9e-05c8a7b0d1cd/MYVINMYVINMYVINMYVIN/operation-request/air-conditioning/set-air-conditioning-at-unlock
DEBUG:myskoda.mqtt:Subscribing to topic: 6f5bdac1-40b0-48a8-9d9e-05c8a7b0d1cd/MYVINMYVINMYVINMYVIN/operation-request/air-conditioning/set-air-conditioning-seats-heating
DEBUG:myskoda.mqtt:Subscribing to topic: 6f5bdac1-40b0-48a8-9d9e-05c8a7b0d1cd/MYVINMYVINMYVINMYVIN/operation-request/air-conditioning/set-air-conditioning-timers
DEBUG:myskoda.mqtt:Subscribing to topic: 6f5bdac1-40b0-48a8-9d9e-05c8a7b0d1cd/MYVINMYVINMYVINMYVIN/operation-request/air-conditioning/set-air-conditioning-without-external-power
DEBUG:myskoda.mqtt:Subscribing to topic: 6f5bdac1-40b0-48a8-9d9e-05c8a7b0d1cd/MYVINMYVINMYVINMYVIN/operation-request/air-conditioning/set-target-temperature
DEBUG:myskoda.mqtt:Subscribing to topic: 6f5bdac1-40b0-48a8-9d9e-05c8a7b0d1cd/MYVINMYVINMYVINMYVIN/operation-request/air-conditioning/start-stop-air-conditioning
DEBUG:myskoda.mqtt:Subscribing to topic: 6f5bdac1-40b0-48a8-9d9e-05c8a7b0d1cd/MYVINMYVINMYVINMYVIN/operation-request/air-conditioning/start-stop-auxiliary-heating
DEBUG:myskoda.mqtt:Subscribing to topic: 6f5bdac1-40b0-48a8-9d9e-05c8a7b0d1cd/MYVINMYVINMYVINMYVIN/operation-request/air-conditioning/start-stop-window-heating
DEBUG:myskoda.mqtt:Subscribing to topic: 6f5bdac1-40b0-48a8-9d9e-05c8a7b0d1cd/MYVINMYVINMYVINMYVIN/operation-request/air-conditioning/windows-heating
DEBUG:myskoda.mqtt:Subscribing to topic: 6f5bdac1-40b0-48a8-9d9e-05c8a7b0d1cd/MYVINMYVINMYVINMYVIN/operation-request/charging/start-stop-charging
DEBUG:myskoda.mqtt:Subscribing to topic: 6f5bdac1-40b0-48a8-9d9e-05c8a7b0d1cd/MYVINMYVINMYVINMYVIN/operation-request/charging/update-battery-support
DEBUG:myskoda.mqtt:Subscribing to topic: 6f5bdac1-40b0-48a8-9d9e-05c8a7b0d1cd/MYVINMYVINMYVINMYVIN/operation-request/charging/update-auto-unlock-plug
DEBUG:myskoda.mqtt:Subscribing to topic: 6f5bdac1-40b0-48a8-9d9e-05c8a7b0d1cd/MYVINMYVINMYVINMYVIN/operation-request/charging/update-care-mode
DEBUG:myskoda.mqtt:Subscribing to topic: 6f5bdac1-40b0-48a8-9d9e-05c8a7b0d1cd/MYVINMYVINMYVINMYVIN/operation-request/charging/update-charge-limit
DEBUG:myskoda.mqtt:Subscribing to topic: 6f5bdac1-40b0-48a8-9d9e-05c8a7b0d1cd/MYVINMYVINMYVINMYVIN/operation-request/charging/update-charge-mode
DEBUG:myskoda.mqtt:Subscribing to topic: 6f5bdac1-40b0-48a8-9d9e-05c8a7b0d1cd/MYVINMYVINMYVINMYVIN/operation-request/charging/update-charging-profiles
DEBUG:myskoda.mqtt:Subscribing to topic: 6f5bdac1-40b0-48a8-9d9e-05c8a7b0d1cd/MYVINMYVINMYVINMYVIN/operation-request/charging/update-charging-current
DEBUG:myskoda.mqtt:Subscribing to topic: 6f5bdac1-40b0-48a8-9d9e-05c8a7b0d1cd/MYVINMYVINMYVINMYVIN/operation-request/vehicle-access/honk-and-flash
DEBUG:myskoda.mqtt:Subscribing to topic: 6f5bdac1-40b0-48a8-9d9e-05c8a7b0d1cd/MYVINMYVINMYVINMYVIN/operation-request/vehicle-access/lock-vehicle
DEBUG:myskoda.mqtt:Subscribing to topic: 6f5bdac1-40b0-48a8-9d9e-05c8a7b0d1cd/MYVINMYVINMYVINMYVIN/operation-request/vehicle-services-backup/apply-backup
DEBUG:myskoda.mqtt:Subscribing to topic: 6f5bdac1-40b0-48a8-9d9e-05c8a7b0d1cd/MYVINMYVINMYVINMYVIN/operation-request/vehicle-wakeup/wakeup
DEBUG:myskoda.mqtt:Subscribing to topic: 6f5bdac1-40b0-48a8-9d9e-05c8a7b0d1cd/MYVINMYVINMYVINMYVIN/service-event/air-conditioning
DEBUG:myskoda.mqtt:Subscribing to topic: 6f5bdac1-40b0-48a8-9d9e-05c8a7b0d1cd/MYVINMYVINMYVINMYVIN/service-event/charging
DEBUG:myskoda.mqtt:Subscribing to topic: 6f5bdac1-40b0-48a8-9d9e-05c8a7b0d1cd/MYVINMYVINMYVINMYVIN/service-event/vehicle-status/access
DEBUG:myskoda.mqtt:Subscribing to topic: 6f5bdac1-40b0-48a8-9d9e-05c8a7b0d1cd/MYVINMYVINMYVINMYVIN/service-event/vehicle-status/lights
DEBUG:myskoda.mqtt:Subscribing to topic: 6f5bdac1-40b0-48a8-9d9e-05c8a7b0d1cd/MYVINMYVINMYVINMYVIN/account-event/account-event/privacy
DEBUG:myskoda.myskoda:Myskoda ready.
ERROR:myskoda.rest_api:Failed to load data from url /v1/charging/MYVINMYVINMYVINMYVIN. Return value was '{"isVehicleInSavedLocation":false,"status":{"chargingRateInKilometersPerHour":0.0,"chargePowerInKw":0.0,"remainingTimeToFullyChargedInMinutes":0,"battery":{"remainingCruisingRangeInMeters":263000,"stateOfChargeInPercent":64}},"settings":{"targetStateOfChargeInPercent":80,"preferredChargeMode":"MANUAL","availableChargeModes":["MANUAL"],"chargingCareMode":"DEACTIVATED","autoUnlockPlugWhenCharged":"OFF","maxChargeCurrentAc":"MAXIMUM","batterySupport":"DISABLED"},"carCapturedTimestamp":"2024-10-03T13:12:36Z","errors":[{"type":"STATUS_OF_CHARGING_NOT_AVAILABLE","description":"Status of charging is not available."}]}'
Traceback (most recent call last):
File "", line 24, in mashumaro_from_json
File "", line 14, in mashumaro_from_dict_json
mashumaro.exceptions.MissingField: Field "state" of type ChargingState is missing in ChargingStatus instance
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "D:\Entwicklung\Workspace\Github\skodaconnect_myskoda\myskoda\rest_api.py", line 41, in _make_get_request
data = deserialize(response_text)
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "", line 26, in mashumaro_from_json
mashumaro.exceptions.InvalidFieldValue: Field "status" of type Optional[ChargingStatus] in Charging has invalid value {'chargingRateInKilometersPerHour': 0.0, 'chargePowerInKw': 0.0, 'remainingTimeToFullyChargedInMinutes': 0, 'battery': {'remainingCruisingRangeInMeters': 263000, 'stateOfChargeInPercent': 64}}
Traceback (most recent call last):
File "", line 24, in mashumaro_from_json
File "", line 14, in mashumaro_from_dict_json
mashumaro.exceptions.MissingField: Field "state" of type ChargingState is missing in ChargingStatus instance
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "C:\Users\User.p2\pool\plugins\org.python.pydev.core_<IP_ADDRESS>402010911\pysrc\pydevd.py", line 3616, in
main()
File "C:\Users\User.p2\pool\plugins\org.python.pydev.core_<IP_ADDRESS>402010911\pysrc\pydevd.py", line 3609, in main
globals = debugger.run(setup['file'], None, None, is_module)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\User.p2\pool\plugins\org.python.pydev.core_<IP_ADDRESS>402010911\pysrc\pydevd.py", line 2626, in run
return self._exec(is_module, entry_point_fn, module_name, file, globals, locals)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\User.p2\pool\plugins\org.python.pydev.core_<IP_ADDRESS>402010911\pysrc\pydevd.py", line 2634, in _exec
globals = pydevd_runpy.run_path(file, globals, 'main')
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\User.p2\pool\plugins\org.python.pydev.core_<IP_ADDRESS>402010911\pysrc_pydevd_bundle\pydevd_runpy.py", line 321, in run_path
return _run_module_code(code, init_globals, run_name,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\User.p2\pool\plugins\org.python.pydev.core_<IP_ADDRESS>402010911\pysrc_pydevd_bundle\pydevd_runpy.py", line 135, in _run_module_code
_run_code(code, mod_globals, init_globals,
File "C:\Users\User.p2\pool\plugins\org.python.pydev.core_<IP_ADDRESS>402010911\pysrc_pydevd_bundle\pydevd_runpy.py", line 124, in _run_code
exec(code, run_globals)
File "D:\Entwicklung\Workspace\WallboxController_Python\src_myskoda\myskoda_get_all_info.py", line 127, in
asyncio.run(main())
^^^^^^^^^^^^^^^^^^^
File "C:\Program Files\Python312\Lib\asyncio\runners.py", line 194, in run
return runner.run(main)
^^^^^^^^^^^^^^^^
File "C:\Program Files\Python312\Lib\asyncio\runners.py", line 118, in run
return self._loop.run_until_complete(task)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Program Files\Python312\Lib\asyncio\base_events.py", line 687, in run_until_complete
return future.result()
^^^^^^^^^^^^^^^
File "D:\Entwicklung\Workspace\WallboxController_Python\src_myskoda\myskoda_get_all_info.py", line 27, in main
charging: Charging = await myskoda.get_charging(VIN)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "D:\Entwicklung\Workspace\Github\skodaconnect_myskoda\myskoda\myskoda.py", line 163, in get_charging
return await self.rest_api.get_charging(vin)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "D:\Entwicklung\Workspace\Github\skodaconnect_myskoda\myskoda\rest_api.py", line 59, in get_charging
return await self._make_get_request(f"/v1/charging/{vin}", Charging.from_json)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "D:\Entwicklung\Workspace\Github\skodaconnect_myskoda\myskoda\rest_api.py", line 41, in _make_get_request
data = deserialize(response_text)
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "", line 26, in mashumaro_from_json
mashumaro.exceptions.InvalidFieldValue: Field "status" of type Optional[ChargingStatus] in Charging has invalid value {'chargingRateInKilometersPerHour': 0.0, 'chargePowerInKw': 0.0, 'remainingTimeToFullyChargedInMinutes': 0, 'battery': {'remainingCruisingRangeInMeters': 263000, 'stateOfChargeInPercent': 64}}


Add PyPI and conda-forge version badges to README

Howdy!
This patch adds PyPI and conda-forge version badges to the README. I find it great to see which is the latest version at a glance.
A preview can be seen on my fork: https://github.com/nicoddemus/diff-cover/tree/version-badges

Coverage remained the same at 99.174% when pulling 91f4f7cd39800deedd5329f76e30af0e118d0fa7 on nicoddemus:version-badges into 901cb3fc986982961785e841658085ead453c6c9 on Bachmann1234:master.

Thanks!


Fixed case sensitivity in getIdFromUsername.js

Fixed an issue in noblox.js where the API incorrectly handles usernames that are not in lowercase. When getIdFromUsername() receives a username like "ROBLOX," the API responds with "roblox" in the requestedUsername field. Previously, noblox.js did not account for this case-insensitive behavior, leading to issues in users' code. This has now been addressed.

It still isn't working for me. I tried both uppercase and lowercase but the getIdFromUsername still return null.

I can confirm that this fix works. Tested it on a bot with a user on the Discord who's username didn't work, but after adding this fix to my code, it worked.

It still isn't working for me. I tried both uppercase and lowercase but the getIdFromUsername still return null.

Issue has been fixed!
edited line 38 in the noblox.js Node Modules to this:
return data.find((result) => result.requestedUsername === username.toLowerCase())

Closed PR, ROBLOX has fixed the issue.


Use cert-manager to issue TLS cert for spring-petclinic

Success Criteria:

Cert is not wildcard
cert-manager delegates generation of cert to Vault's component
Cert is rotated automatically

Nope. We decided to use manually issued wildcard certs.


Fixed the issue with root path not being applied as the base to the href attribute of Link component.

Awesome thanks.


Dismounts in QRF not in vehicles

Bug report

Basic Information

Mission version: latest
Map used: Chernarus Winter
Mods used: ACE, RHS, 3CB, DAGGER SNIPER MOD, CBA, CUP MAPS
Dedicated or local game: local
Source of the mission file (URL): official

Individual Things
Did you edit anything within the mission files?
No.
If yes, what did you edit exactly?
n/a
Short Issue Description
Troop transports in QRF spawn with their troops outside -BMPs always arrive first empty and dismounts have to run long distances (presumably) from the spawn point.
Expected Behaviour

Dismounts to exit vehicle closer to objectives.
Steps to Reproduce the Issue

Screenshots, Serverlog or any other helpful Information

Any information about your used OPFOR preset and the exact classname of the BMP would be very helpful.

Actually the default setup of your Chernarus Winter version - rha_afrf. And it doesnt seem to be tied to a specific version of BMP, rather I havent seen any troops ever actually being "delivered" by dismounting. Only running long distances from where they spawn long after the transport vehicle itself arrives.


More pluggable interfaces

Currently, repositories (data access abstraction) are pluggable, supporting user-provided plugins. Using the same internal infrastructure, next candidates to make pluggable are:

models (currently are customizable but should standardize them via the same plugin interface)
route collection (pass a mount point and a set of routes to the Router, overriding existing mount points and adding/removing endpoints)
middlewares - provide a stack of app-level middleware (we will need at some point to allow users to order these in relation to the core middlewares). Also, assumption is that Router-level middleware can be provided via providing custom routes

Other areas like input processing stacks for future iterations.

This was (pretty much) done in https://github.com/govflow/govflow/blob/main/src/types/registry.ts
models, middleware and services now have a formal plugin API just like repositories did, and they are now only passed as plugin configuration


[Event Request] Page 232 "Apply Customer Entries" - OnCalcApplnAmountOnCalcTypeGenJnlLineOnApplnTypeToDocNoOnAfterSetAppliedAmount

Request for new event inside CalcApplnAmount() function.
OnCalcApplnAmountOnCalcTypeGenJnlLineOnApplnTypeToDocNoOnBeforeSetAppliedAmount(Rec, ApplnDate, ApplnCurrencyCode);
if "Amount to Apply" <> 0 then
   AppliedAmount := Round("Amount to Apply", AmountRoundingPrecision)
else
   AppliedAmount := Round("Remaining Amount", AmountRoundingPrecision);
// NEW EVENT BELOW
OnCalcApplnAmountOnCalcTypeGenJnlLineOnApplnTypeToDocNoOnAfterSetAppliedAmount(Rec, ApplnDate, ApplnCurrencyCode, AppliedAmount);

[IntegrationEvent(false, false)]
local procedure OnCalcApplnAmountOnCalcTypeGenJnlLineOnApplnTypeToDocNoOnAfterSetAppliedAmount(var AppliedCustLedgEntry: Record "Cust. Ledger Entry"; ApplnDate: Date; ApplnCurrencyCode: Code[10]; var AppliedAmount: Decimal)
begin
end;

Thanks for reporting this. We agree, and we’ll publish a fix asap, either in an update for the current version or in the next major release. Please do not reply to this, as we do not monitor closed issues. If you have follow-up questions or requests, please create a new issue where you reference this one.


2- way SSL offloading & routing based on header

Hello Team,
We are evaluating KrakenD-CE. Would like to know few things that I didn't find in documentation:-

Can we route based on header / param - out of box?
Does it support two way SSL ? If yes can you please provide some documentation around it.

Thanks,
Ankit Singhai

I join the question. I also need a routing based on header

you can route just by url, but you could add a plugin and change the url of the incoming requests depending on the header value
2 way SSL is not supported, but, again, you can customize it with some plugin


Fix orientations for Portable Grid

In hand currently, the orientation is rather nonsensical. This adds the "display" section to the [https://minecraft.gamepedia.com/Model#Item_models](model JSON) to give poses for first/third person, and eliminates some rendering code which seems to be a workaround to implement this for the "gui" pose (in inventory).
I wasn't quite sure how to hold this (given that it's rather bulky), but decided to rotate it sideways to use more like a tablet. It might work a bit better if the item used an alt model with the screen tilted flat.
Here's a pic of the poses:

I don't like this, the current rotation is fine. It's supposed to look like a laptop in hand (and in world, like it does currently), and making it upside down is rather weird.
Thanks anyway.

Curently it doesn't, especially in the left hand - it's floating out off to the side.

Sorry, that is correct indeed.. My mistake.
Can you make a new PR fixing this and making it horizontal instead of vertical? Thanks!


re-architect CLI

Inspired by discussion from https://github.com/meejah/fowl/pull/11 I think it makes sense to split the command-line into two:

fowld: plumbing command that accepts commands on stdin and produces messages on stdout (i.e. a stdin/out line-based protocol with JSON messages).
fowl: porcelain for users (everything accomplished by running fowld under the hood)

This means that "integrations" (like https://sr.ht/~meejah/pear-on/) would typically run fowld directly and issue it commands. End-users would typically run fowl ...
So, options similar to ssh's -L and -R can live on the fowl process. The target for these options (and their output) is humans -- friendly text can be produced, and whatever makes sense for humans is what makes sense for options.
On the other hand, the fowld protocol should be well-specified, stable and versioned -- integrations can be confident that a new version won't break their interaction (due to a new or removed option etc). (Note: the protocol is NOT yet in any way stable).
Philosophy-wise, fowld should take very minimal (ideally zero) command-line argument and do all interaction via its well-specified line-based JSON protocol. All output and input MUST be machine parse-able and stable. The fowl command (and sub-commands) produces human-centric input and while it "should" be stable between versions, nobody should depend on parsing it.

I've used the "porcelain" and "plumbing" words the same way Git does. This is an analogy to the fact that the guts of water / waste systems is the "plumbing" like pipes etc (which most humans never see or interact with) while the "porcelain" is the sink or toilet which humans are expected to interact with (so it better be nice!)

Done, mostly, in https://github.com/meejah/fowl/pull/23


Integration tests are broken

Integration tests are currently broken. I believe it is due to refactoring of benchmark_spec.py in PR #1191

Fix in https://github.com/GoogleCloudPlatform/PerfKitBenchmarker/pull/1258


[SPARK-32782][SS] Refactor StreamingRelationV2 and move it to catalyst

What changes were proposed in this pull request?
Move StreamingRelationV2 to the catalyst module and bind with the Table interface.
Why are the changes needed?
Currently, the StreamingRelationV2 is bind with TableProvider. Since the V2 relation is not bound with DataSource, to make it more flexible and have better expansibility, it should be moved to the catalyst module and bound with the Table interface. We did a similar thing for DataSourceV2Relation.
Does this PR introduce any user-facing change?
No
How was this patch tested?
Existing UT.

Test build #128226 has started for PR 29633 at commit 1e24af5.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/32852/
Test PASSed.

I'm not clear about the policy - if we would like to ensure the logical plan is placed in catalyst module, then why not moving StreamingRelation as well? Does it couple with core module?

Does it couple with core module?

@HeartSaVioR  Yes, the StreamingRelation couples with DataSource. You may find all the DataSource resolving work is in FindDataSourceTable so it's ok to put it in the core module. But for v2 relation, it's unbound with the specific data source, both Table and TableProvider is in the catalyst, so move it can benefit for our future extension on StreamingRelationV2.

In general, the v1 plan should still be sql/core as v1 API is there. The v2 plan should be in catalyst as v2 API is there.

Merged to master

Test build #128226 has finished for PR 29633 at commit 1e24af5.

This patch fails due to an unknown error code, -9.
This patch merges cleanly.
This patch adds the following public classes (experimental):
case class StreamingRelationV2(

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/128226/
Test FAILed.


Option -a is undocumented

could not determine architecture for the supportconfig directory. Please supply one with -a.

maybe -a x86_64   ???

It seems I added the exception treatment for missing/unknown architecture... but never added the parameter.
Would you have a supportconfig that needs this to test?

There you go,  I also updated all examples in the README.


[AKS] BREAKING CHANGE: az aks create: Remove deprecated parameter --docker-bridge-cidr

Related command
az aks create
Description
This field was deprecated in newest api so now getting this warning with every create
docker_bridge_cidr is not a known attribute of class <class 'azure.mgmt.containerservice.v2023_06_01.models._models_py3.ContainerServiceNetworkProfile'> and will be ignored
Testing Guide
Non for remove
History Notes
[aks]  az aks create: removed docker_bridge_cidr

This checklist is used to make sure that common guidelines for a pull request are followed.

[ ] The PR title and description has followed the guideline in Submitting Pull Requests.

[ ] I adhere to the Command Guidelines.

[ ] I adhere to the Error Handling Guidelines.

aks

We should do this breaking change (remove the option) in the next breaking change window around November.

@paulgmiller, @FumingZhang, @zhoxing-ms,
Are we still good to have this in breaking change release? Just want to make sure we don't forget. Thanks!

@paulgmiller Could you please resolve these conflicts?

@paulgmiller Could you please resolve these CI issues?

Please note that we are launching the release for this sprint this week. Please resolve all comments by xxx, otherwise the release of this PR will have to be postponed to the next sprint (on 12-05)

Replaced by PR #27784.


question: Possible to change JWT cookie name?

Hi!
Is it possible to change the name of the cookie which contains the JWT?
By default, it is access_token. I tried crypto default token name my_cookie_name, but nothing changed.
I suspect that access_token is hardcoded in https://github.com/greenpau/go-authcrunch, is that right?
Background is that we'd like to smoothly transition from our old Caddy v1 installation, which used https://github.com/BTBurke/caddy-jwt with a custom cookie name.
Thanks!

@jmfotokite , yes, it is possible. Please post the config you are working with. Preliminary you could do “crypto key token name foo”, but I want to see you connected the dots in your config. Also, please provide the version output from caddy.

Wow, that was quick :scream:
This is my config so far. It contains only the auth portal, the services which need auth are hosted somewhere else and will then use the authorize directive.
{
	admin off

	log {
		format json
	}

	order authenticate before respond
	security {
		authentication portal internal-auth-portal {
			crypto default token name internal_auth_jwt
			crypto default token lifetime 172800 # 48 h
			crypto key sign-verify {env.JWT_SHARED_KEY}

			backends {
				google_oauth2_backend {
					method oauth2
					realm google
					provider google
					client_id {env.GOOGLE_CLIENT_ID}.apps.googleusercontent.com
					client_secret {env.GOOGLE_CLIENT_SECRET}
					scopes email
				}
			}

			cookie domain internal.mydomain.com
			cookie lifetime 172800 # 48 h
			cookie insecure off
			cookie samesite strict

			ui {
				links {
					"My Identity" "/whoami" icon "las la-user"
				}
			}
		}
	}
}

http://:{$PORT} {
	bind <IP_ADDRESS>
	log {
		format json
	}

	authenticate with internal-auth-portal
}

I'll have a look at the video too.

@jmfotokite , some preliminary thoughts on this.
http://:{$PORT} {
	bind <IP_ADDRESS>
	log {
		format json
	}

	authenticate with internal-auth-portal
}

The portal might not work with HTTP, unless you set cookie insecure on ... you have it on link
Instead of http://:{$PORT} {, you can just do:
(logging) {
  	log {
		format json
	}
}

internal.mydomain.com {
  	import logging
	authenticate with internal-auth-portal
}

Instead of:
			backends {
				google_oauth2_backend {
					method oauth2
					realm google
					provider google
					client_id {env.GOOGLE_CLIENT_ID}.apps.googleusercontent.com
					client_secret {env.GOOGLE_CLIENT_SECRET}
					scopes email
				}
			}

You could do a shortcut, unless you want to keep your scope to email:
backend google {env.GOOGLE_CLIENT_ID} {env.GOOGLE_CLIENT_SECRET}

https://github.com/greenpau/caddy-security/blob/7f0bac7999efd09f7f0c8c1b57115de276670ceb/caddyfile_authn_backend_shortcut.go#L46-L56

@jmfotokite , also, I recommend having longer cookie (x+8h) lifetime than token (x) lifetime.
	security {
		authentication portal internal-auth-portal {
			crypto default token lifetime 172800 # 48 h
			cookie lifetime 172800 # 48 h

The “cookie lifetime” is the max lifetime of a cookie in a browser cache.
The “crypto key lifetime” is the lifetime of the JWT token inside the cookie.
When the token expires, the cookie carrying it is still “alive” and serves as a clue for a redirection.

Thank you, that was very helpful!

using crypto key token name my_name did the trick for the cookie name
the http://:{$PORT} part is a bit misleading in my config, this is actually running on a managed container service which terminates HTTPS for us, so all fine
I am using the shortcut now
and I have extended the cookie life time

Again, thank you, I am blown away with how quickly and helpfully you answered! I am going to close this now, as my question is answered.

@jmfotokite , enjoy! Please do not hesitate asking questions! See https://github.com/greenpau/caddy-security/issues/14#issue-1111599735


Improved testing of PandasTools

Added testing under Python3
Restore the changes to rdkit.Chem.Mol after test finished
Improved test coverage

This probably requires a proper review. I'll add a few comments to the code.
Unfortunately, the PR #1195 (review of use of range) ended up in this one too.

I'm going to reject this one because there's just too much mixed into one PR. This is mixing up some style changes, enabling your approach to doing unit tests, and getting the python3 stuff working. Let's do that last one by itself and then the other two in one PR.


Fix/option issue

@trevorwang  Hi! I see you try to fix this issue, but there is still  the problem. Method  RequestOptions merge return new instance. Thus, when gererened file pass newOptions variable to _dio.request this variable doesn't include method type and base URL. For test I modify generated file, and it worked. I just define new vaiable and pass it to dio.

@romawizard  should put the merge method in the named parameter
#156


only check minizinc path on windows systems

better throw 'e' with a warning if minzinc is in the path after all


chore(main): release 1.2.10

:robot: I have created a release beep boop
1.2.10 (2024-01-07)
Miscellaneous Chores

remove need to identify command (#49) (84348b8)
remove parameters (#47) (d6e1e11)

This PR was generated with Release Please. See documentation.

:robot: Release is at https://github.com/cedricziel/mattermost-php/releases/tag/v1.2.10 :sunflower:


GDNative API casting

Godot version
latest
System information
Does not matter
Issue description
Currently, on the engine side of the GDNative API casting is done using C style (using round brackets) in the way like this:
void GDAPI godot_string_new(godot_string *r_dest) {
	String *dest = (String *)r_dest;
	memnew_placement(dest, String);
}

Maybe it would make sense to replace those casts with C++ casts?
Steps to reproduce
There are no steps
Minimal reproduction project
No response

Hi, latest is not a version, so please specify if you are using a stable version, and which one is it, or if you are using master, and at which commit.


Fastlane command:

Fastlane command: (bundle "1.16.2" "exec" "fastlane" "android" "" "app:") failed
If you want to send an issue report to fastlane (https://github.com/fastlane/fastlane/issues/new), you can find the output of fastlane env in the following log file:
/Users/vagrant/deploy/fastlane_env.log
Command failed, error: exit status 1
|                                                                              |
+---+---------------------------------------------------------------+----------+
| x | fastlane@3 (exit code: 1)                                     | 2.7 min  |
+---+---------------------------------------------------------------+----------+
| Issue tracker: https://github.com/bitrise-io/steps-fastlane/issues           |
| Source: https://github.com/bitrise-io/steps-fastlane                         |
+---+---------------------------------------------------------------+----------+
▼

It seems like you have not included the output of fastlane env To make it easier for us help you resolve this issue, please update the issue to include the output of fastlane env 👍

I was facing the same kind of question, Thank you for sharing the suggestion, I will try to figure it out for more.

@anastasiaShpakava there doesn't seem to be anything in the bug report that points to a fastlane bug. Closing for now.


Could not install gow on golang:1.18 image

It worked OK ~2 weeks ago,  now it is not
docker run --rm --platform linux/amd64 golang:1.18-alpine go install github.com/mitranim/gow@latest

Expected
Successful installation
Got
go: downloading github.com/mitranim/gow v0.0.0-20230818075021-e50a405cdbc4
go: downloading github.com/mitranim/gg v0.1.19
go: downloading golang.org/x/sys v0.0.0-20210917161153-d61c044b1678
go: downloading github.com/rjeczalik/notify v0.9.3
# github.com/mitranim/gow
pkg/mod/github.com/mitranim/gow@v0.0.0-20230818075021-e50a405cdbc4/gow_main.go:112:13: internal compiler error: assigning gg.self (type gg.Chan[syscall.Signal]) to parameter gg.tar (type go.shape.chan int_0)

Probably requires Go higher than 1.18. This looks like one of the compiler bugs that got fixed in later versions.

Yeah, but it worked before. Now it works ok with non-alpine versions and higher than 1.18 as well

I try my best to keep gow backwards compatible to avoid exactly this situation, with the exception of occasionally raising the required Go version. The reason you got such an obscure error is because one of the dependencies actually requires Go 1.20, but I forgot to update gow go.mod, which still requires Go 1.18. Just pushed a fix for this. It should at least tell you to update Go. Updating to Go 1.18 was necessary for generics (programming with generics is much easier than without), and updating to Go 1.20 was necessary for compiler fixes related to generics. I don't expect to be raising the version requirement in the near future unless the devteam comes out with something very tempting. My apologies for the breakage. You can also "fix" your gow version in your install command to ensure future gow updates don't break your setup.


Fix condition for expensive reshape with even columns

Packed reshape when both, source and destination shape, have even
columns is not free - with current 2x2 packing, pixel's .ba values
are the next (logical) row of .rg values. If row length changes,
different values are expected in .ba values.
e.g. 2 -> 4 columns reshape:
0 1 4 5    -->  0 1 2 3
2 3 6 7         4 5 6 7

Added test that exposes the issue and the fix.
BUG

For repository owners only:
Please remember to apply all applicable tags to your pull request.
Tags: FEATURE, BREAKING, BUG, PERF, DEV, DOC, SECURITY
For more info see: https://github.com/tensorflow/tfjs/blob/master/DEVELOPMENT.md

This change is

Reduced the size from 32 to 16.
I would like to keep the texture layout with four logical rows packed to one texture row in this test.


Translated column filter results in TypeError: keys must be a string

I try to translate the column filter. I proceed as follows:
column_filters = ( Client.connections, )
...
column_labels = dict(
    connections=lazy_gettext(u'Connections'),
)
...

Flask give a Traceback with TypeError: keys must be a string
I tried to reproduce the problem with an flask-admin example.
https://gist.github.com/ozon/d05bf06fbdf08521b7df#file-gistfile1-py-L109
Traceback addet as comment.
It result in the same error. Without filter translations works the translated app fine. What do i wrong?

I encountered the same problem solved here, but can't find the fix applied here in the latest version: how is this supposed to work now? I implemented a lazystring-aware custom JSON encoder, but i would like to know the current solution on this, anyone?

This issue is also happens on latest Flask-Admin (1.2.0), and seems the patch applied earlier is not working any more.
Because of this issue, it's not able to translate field labels in UI like below
    column_labels = {
        'supplier': lazy_gettext('supplier'),
        # 'name': lazy_gettext('supplier'),
        # 'code': lazy_gettext('supplier')
    }

Is there any update on this?
Thanks.

The issue might be related to fix commit via 14dec4f5396c094fce6c726d7d1b7e0afee62a83

Tried a fix
Change
results[key] = items

on line 872 to
results[as_unicode(key)] = items

Resolve the issue temporary.
I think a fix for both this issue and #840 is needed since this quick fix will revert fix to #840.


vscode.env.clipboard new feature suggest

The requirement is to get the picture or other files from the clipboard, and now we only have the api to get/set the string of clipboard:
vscode.env.clipboard.readText(): Thenable<string>;
vscode.env.clipboard.writeText(value: string): Thenable<void>;

So I suggest that add vscode.env.clipboard.readObject(): Thenable<object> and every object can be defined as:
{
  type: "image",
  index: "C:\\User\\AppData\\...\\tmp.png"
}

or
{
  type: "file",
  index: "C:\\Windows\\System32\\cmd.exe"
}

#77790

Thanks, I goto https://github.com/microsoft/vscode/issues/77790#issuecomment-1066587519


permision controller method store and update less with in flash message

Parse error: syntax error, unexpected '(', expecting identifier (T_STRING) or variable (T_VARIABLE) or '{' or '$'
`/Users/hatajie/Sites/isidia-backend/app/Http/Controllers/Admin/PermissionsController.php
*/
public function create()
{
return view('admin.permissions.create');
}
/**
 * Store a newly created resource in storage.
 *
 * @param \Illuminate\Http\Request $request
 *
 * @return void
 */
public function store(Request $request)
{
    $this->validate($request, ['name' => 'required']);

    Permission::create($request->all());

    return redirect('admin/permissions')->('flash_message', 'Permission added!');
}`

method store and update less with in flash message
solved with
return redirect('admin/permissions')->with('flash_message','Permission added !');
and error again
Undefined variable: role (View: /Users/hatajie/Sites/isidia-backend/resources/views/admin/roles/form.blade.php) (View: /Users/hatajie/Sites/isidia-backend/resources/views/admin/roles/form.blade.php)

Fixed will release a hot fix soon


With introduction of null, it's better to allow short circuiting (lazy evaluation) for those boolean operators

I see the library now support null but perhaps it's better to also allow short circuiting for those boolean operator? Consider an example:
IF(v != NULL && v > 0, LOG(v), 0)

If v is set to null, we will get an exception saying null cannot be compared.
It seems that operators don't have the option to be lazy? So perhaps the workaround here is to introduce an AND function:
IF(AND(v != NULL, v > 0), LOG(v), 0)

I think this can be easily implemented in the expression evaluator here
      case INFIX_OPERATOR:
        result =
            token
                .getOperatorDefinition()
                .evaluate(
                    this,
                    token,
                    evaluateSubtree(startNode.getParameters().get(0)),
                    evaluateSubtree(startNode.getParameters().get(1)));
        break;

The operator type has to be checked. If it is a logical AND, then evaluate the first operand only.
Only, if the result is TRUE, evaluate also the second operand.

Similar logic can be implemented for the logical OR operator. If the first operand is TRUE, skip evaluating the second operand.

OK. I see. I think given that user can define custom operators, we can define an additional isLazy parameter in InfixOperator interface (assuming post/prefix operators do not need the same) and implement the lazy evaluation logic only for AND/OR operators. Documentation will also have to be updated.
I can also help to make the change if this sounds reasonable.

This is exactly what I had in mind. If there is no breaking changes, it could go to a 3.2.0 version.
Feel free to volunteer, I am always happy with people contributing.  🙂


Add "source map url" comment line.

Minified files should have a comment-line like "# sourceMappingURL=index.min.js.map" at the end of the file, to allow browser devtools parse sourcemap automaticly.

That would be a feature of the minifier itself so you would have to request the feature from Google Closure Compiler.

@raccoon1515 For your information, the support has been added in org.padler.gradle.minify 1.6.0.
See https://github.com/616slayer616/gradle-minify-plugin/releases/tag/v1.6.0

That's great! Thx!


Tabbing between form elements causes label-field overlap

Scenario: Filling out a form, tabbing both forward and backward through the fields.
Outcome: (expected) When tabbing into a field, the field label shrinks away. When tabbing out of a field, label expands again. (actual) When tabbing into a field, the field label shrinks away but the font size of the input is tiny. When tabbing out of a field, the label expands but the baseline of the field does not (due to the font size), thereby causing the label to overlap the baseline of the field.
Documentation: Screenshots / CodePen

Its because you have the class materialize-textarea on the inputs. That is what ties in the auto resizing textarea feature so adding it to your inputs causes odd effects.

Thanks, I didn't realize I had the textarea class on input elements. I'm using a framework that automatically decides the best HTML tag based on my database type...looks like it got it wrong this time.
Thanks!


Update aws-java-sdk-dynamodb to 1.12.440

Updates com.amazonaws:aws-java-sdk-dynamodb from 1.11.1034 to 1.12.440.
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Configure Scala Steward for your repository with a .scala-steward.conf file.
Have a fantastic day writing Scala!

Adjust future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "com.amazonaws", artifactId = "aws-java-sdk-dynamodb" } ]

Or, add this to slow down future updates of this dependency:
dependencyOverrides = [{
  pullRequests = { frequency = "30 days" },
  dependency = { groupId = "com.amazonaws", artifactId = "aws-java-sdk-dynamodb" }
}]

labels: library-update, early-semver-minor, semver-spec-minor, commit-count:1

Superseded by #426.


Vidéo source widget and entity

Hello,
looks like there is only the audio_source in the entities. Could you add the video source please ?
Thanks a lot

The video source is part of the media player entity


Remove intl stream

I do think that the "iterator" patterned naming was a little better since we can't add to this like a Stack. I don't think it matters much though since this is internal, and the implementation looks solid.
Thanks!

I just saw Stephen's comments on naming. We don't need to bikeshed on it further.


Upgrade tested AGP versions

from 7.1.1 to 7.1.2
from 7.2.0-beta02 to 7.2.0-beta04
from 7.3.0-alpha02 to 7.3.0-alpha06

@bot-gradle test AST

OK, I've already triggered the following builds for you:

AllSmokeTestsPullRequestFeedback build

@bot-gradle test AST

OK, I've already triggered the following builds for you:

AllSmokeTestsPullRequestFeedback build

OK, I've already triggered a build for you.

@bot-gradle test AST

OK, I've already triggered the following builds for you:

AllSmokeTestsPullRequestFeedback build

@bot-gradle test and merge

OK, I've already triggered a build for you.


Can't extract face vector of image

When i user Pipeline：mtcnn-face-detector -> face-encoder get face vectors, I find the pipeline failed to  extract face vector of image1 , but extract face vector of image2 successfully.

img 1

img2

Can you give me the error of image 1?
I guess that was caused by mtcnn detector threshold. You can decrease the face threshold when apply in this scenario.
Or the first image is too large?
When converted into a fixed size by models, each faces is so little that the score of face has been decreased.