How to enable RACP to read all measurements on Glucose device?

Hi,
I am Trying to read all measurements from glucose device.
I can scanning and found the the devices that I wanna connect to.
this.manager.startDeviceScan(null, null, (error, device) => {
(...)
}

I already discovered the services and characteristics from this device.
To read the last measure I am using the follow code:
readLastMeasurement(device){
   //##CONNECT OK
   this.manager.connectToDevice(device.id).then((device) => {
     this.manager.discoverAllServicesAndCharacteristicsForDevice(device.id)
     .then((results) => {
       //console.log(results);
       this.manager.servicesForDevice(device.id)
         .then((services) => {
           console.log('services');
           console.log(services);
           //console.log(this.getValueFromBase64("AwYA5AcEDRAmCgAAeLDx"));
           //console.log(this.getValueFromBase64("AwUA5AcEBxYRFwAAW7Dx"));
           this.manager.monitorCharacteristicForDevice(
             device.id,
             '00001808-0000-1000-8000-00805f9b34fb',
             '00002A18-0000-1000-8000-00805f9b34fb',
             (err, characteristic) => {
               //console.log(characteristic.value);
               console.log("Glucose: " + this.getValueFromBase64(characteristic.value));
             })
         });
     });
   });
 }

1808 - Glucose (Service)
2A18 - Glucose Measurement (Characteristic)
Using rhe code above I can read the last glucose measured.
Now I wanna read all the measurements from this device. I found in the ble documentation that to read all the measurements I need write something using 1808 (Service) and 2A52 (Characteristics) as you can see in: [https://infocenter.nordicsemi.com/index.jsp?topic=%2Fcom.nordic.infocenter.sdk51.v9.0.0%2Fble_sdk_app_gls.html]
I am using this function to read all measurements:
 readAll(device){
    this.manager.connectToDevice(device.id).then((device) => {
    console.log("Connected");

    this.manager.discoverAllServicesAndCharacteristicsForDevice(device.id)
    .then((results) => {
      console.log('results');
      console.log(results);
      this.manager.characteristicsForDevice(device.id, '00001808-0000-1000-8000-00805f9b34fb')
      .then((services) => {
        //console.log('services');
        //console.log(services);
        this.manager.writeCharacteristicWithResponseForDevice(
          device.id,
          '00001808-0000-1000-8000-00805f9b34fb',
          '00002A52-0000-1000-8000-00805f9b34fb',
          "0401",
          (err, charac) => {
            console.log('charact');
            console.log(charac)
            ////////////
            charac.monitorCharacteristicForDevice(
            //this.manager.monitorCharacteristicForDevice(
              device.id,
              '00001808-0000-1000-8000-00805f9b34fb',
              '00002A18-0000-1000-8000-00805f9b34fb',
              (err, characteristic) => {
                console.log('monitor');
                console.log(characteristic.value);
                console.log("Glucose values: " + this.getValueFromBase64(characteristic.value));
              })
            ////////////////
          });
      })
    })
  })
}

And when I run this code I receive the message error:
WARN  Possible Unhandled Promise Rejection (id: 1):
Error: Exception in HostFunction: Malformed calls from JS: field sizes are different.

[[5,30],[36,0],[[102,2000,1587419366866,false]],178]
[native code]
enqueueNativeCall@http://localhost:8081/index.bundle?platform=android&dev=true&minify=false:2563:43
fn@http://localhost:8081/index.bundle?platform=android&dev=true&minify=false:2161:42
createTimer@http://localhost:8081/index.bundle?platform=android&dev=true&minify=false:30856:38
setTimeout@http://localhost:8081/index.bundle?platform=android&dev=true&minify=false:30664:18
_87@http://localhost:8081/index.bundle?platform=android&dev=true&minify=false:27290:30
reject@http://localhost:8081/index.bundle?platform=android&dev=true&minify=false:27167:18
doResolve@http://localhost:8081/index.bundle?platform=android&dev=true&minify=false:27208:13
Promise@http://localhost:8081/index.bundle?platform=android&dev=true&minify=false:27055:14
fn@http://localhost:8081/index.bundle?platform=android&dev=true&minify=false:2134:27
writeCharacteristicWithResponseForDevice$@http://localhost:8081/index.bundle?platform=android&dev=true&minify=false:97836:118
tryCatch@http://localhost:8081/index.bundle?platform=android&dev=true&minify=false:25668:23
invoke@http://localhost:8081/index.bundle?platform=android&dev=true&minify=false:25843:32
tryCatch@http://localhost:8081/index.bundle?platform=android&dev=true&minify=false:25668:23
invoke@http://localhost:8081/index.bundle?platform=android&dev=true&minify=false:25744:30
http://localhost:8081/index.bundle?platform=android&dev=true&minify=false:25774:19
tryCallTwo@http://localhost:8081/index.bundle?platform=android&dev=true&minify=false:27032:9
doResolve@http://localhost:8081/index.bundle?platform=android&dev=true&minify=false:27196:25
Promise@http://localhost:8081/index.bundle?platform=android&dev=true&minify=false:27055:14
callInvokeWithMethodAndArg@http://localhost:8081/index.bundle?platform=android&dev=true&minify=false:25773:29
enqueue@http://localhost:8081/index.bundle?platform=android&dev=true&minify=false:25778:157
async@http://localhost:8081/index.bundle?platform=android&dev=true&minify=false:25794:69

tryCallOne@http://localhost:8081/index.bundle?platform=android&dev=true&minify=false:27023:16
http://localhost:8081/index.bundle?platform=android&dev=true&minify=false:27124:27
_callTimer@http://localhost:8081/index.bundle?platform=android&dev=true&minify=false:30578:17
_callImmediatesPass@http://localhost:8081/index.bundle?platform=android&dev=true&minify=false:30614:19
callImmediates@http://localhost:8081/index.bundle?platform=android&dev=true&minify=false:30833:33
callImmediates@[native code]
__callImmediates@http://localhost:8081/index.bundle?platform=android&dev=true&minify=false:2621:35
http://localhost:8081/index.bundle?platform=android&dev=true&minify=false:2398:34
__guard@http://localhost:8081/index.bundle?platform=android&dev=true&minify=false:2604:15
flushedQueue@http://localhost:8081/index.bundle?platform=android&dev=true&minify=false:2397:21
flushedQueue@[native code]
invokeCallbackAndReturnFlushedQueue@[native code]

Can anyone help me to solve this issue using the Polidea BLE PLX library?
Thanks a lot

Hi, Can anyone help me with this issue?
I am trying send the command to read all measurement from a glucose device, but this doesnt work for me.
i already read the documentation and I followed the steps but I dont know if i am doing something wrong or there is a bug in the library

That charac.monitorCharacteristicForDevice( function call doesn't exist? Did you check documentation?

Yes, I read the documentation, and the monitorcharacteristicfordevice enables the device to receive data.
This issue its ok for me. The problem is that I need to send a command to ble device by RACP, and its doenst work for me.
Ex. I wanna send the command to read all measurements from glucose meter.  I know that i need send (0x) 0101 to device, but I dont know why it doenst work.
I am sure that the monitorCharacteristicForDevice works because I do it in my app, and I am using other app (Nordic ToolBox) to send the RACP. After it I can see all measurement in my app, but I want to do it without use other app.

@renatoramossilva Hi, am just trying to do what you're trying. Am not able to read anything so far. Any luck so far? Also if you could expand your getValueFromBase64 method, it would be helpful. Thanks!

@renatoramossilva Are you encoding your value to Base64?
        this.manager.writeCharacteristicWithResponseForDevice(
          device.id,
          '00001808-0000-1000-8000-00805f9b34fb',
          '00002A52-0000-1000-8000-00805f9b34fb',
          "0401", << looks suspicious

Hi @dariuszseweryn, I was using other way to convert to base64. Something like this: base64.decode('0401').
Now, I used the code that you shared to me and its works.
Thanks a lot, I was blocked in this issue.

@renatoramossilva Hi, am just trying to do what you're trying. Am not able to read anything so far. Any luck for you? Also if you could expand your getValueFromBase64 method, it would be helpful. Thanks!

Hi, @ram95krishh,
Are you able to identify all services and characteristics from BLE device?
If yes, you can first to test the readable characteristics.
here is the code that I use to convert the data received.
async getValueFromBase64(dataURI) {
        //var dataURI = "AwYA5AcEDRAmCgAAeLDx"; //120 You can use this string to test this function
        //var dataURI = "AwUA5AcEBxYRFwAAW7Dx";  //91
        var str = base64.decode(dataURI);
        var utf8 = [];
        for (var i = 0; i < str.length; i++) {
            var charcode = str.charCodeAt(i);
            if (charcode < 0x80) utf8.push(charcode);
            else if (charcode < 0x800) {
                utf8.push(0xc0 | (charcode >> 6),
                    0x80 | (charcode & 0x3f));
            }
            else if (charcode < 0xd800 || charcode >= 0xe000) {
                utf8.push(0xe0 | (charcode >> 12),
                    0x80 | ((charcode >> 6) & 0x3f),
                    0x80 | (charcode & 0x3f));
            }
            // surrogate pair
            else {
                i++;
                // UTF-16 encodes 0x10000-0x10FFFF by
                // subtracting 0x10000 and splitting the
                // 20 bits of 0x0-0xFFFFF into two halves
                charcode = 0x10000 + (((charcode & 0x3ff) << 10)
                    | (str.charCodeAt(i) & 0x3ff));
                utf8.push(0xf0 | (charcode >> 18),
                    0x80 | ((charcode >> 12) & 0x3f),
                    0x80 | ((charcode >> 6) & 0x3f),
                    0x80 | (charcode & 0x3f));
            }
        }

return uf8
}

Hi @renatoramossilva .. Thanks for that function.. Sorry if this sounds basic, but your function returns the test value "AwYA5AcEDRAmCgAAeLDx" as a utf8 array [3, 6, 0, 195, 164, 7, 4, 13, 16, 38, 10, 0, 0, 120, 194, 176, 195, 177]. How do I infer this is equivalent the value 120 (mentioned in bracket).
Also am trying to retrieve all the values from my glucometer as well.. But when I do this..
this.manager.writeCharacteristicWithResponseForDevice(
          device.id,
          '00001808-0000-1000-8000-00805f9b34fb',
          '00002A52-0000-1000-8000-00805f9b34fb',
          btoa("0401"),     // hoping this is the encoding mentioned by Dariusz

It succeeds and returns a characteristic object with the same value "0401" in "characteristic.value" field. Am I missing something? Will the "0401" value vary from device to device or it's just the RACP convention to retrieve all values? Am very new to working with Bluetooth devices. Any help would be appreciated. Thanks!

Hi @renatoramossilva .. Thanks for that function.. Sorry if this sounds basic, but your function returns the test value "AwYA5AcEDRAmCgAAeLDx" as a utf8 array [3, 6, 0, 195, 164, 7, 4, 13, 16, 38, 10, 0, 0, 120, 194, 176, 195, 177]. How do I infer this is equivalent the value 120 (mentioned in bracket).
And yes, I was able to discover all services and characteristics. Also am trying to retrieve all the values from my glucometer as well.. But when I do this..
this.manager.writeCharacteristicWithResponseForDevice(
          device.id,
          '00001808-0000-1000-8000-00805f9b34fb',
          '00002A52-0000-1000-8000-00805f9b34fb',
          btoa("0401"),     // hoping this is the encoding mentioned by Dariusz

It succeeds and returns a characteristic object with the same value "0401" in "characteristic.value" field. Am I missing something? Will the "0401" value vary from device to device or it's just the RACP convention to retrieve all values? Am very new to working with Bluetooth devices. Any help would be appreciated. Thanks!

Hi,
So, for this example I wanted read a measurement for glucose meter and I knew that this value was 120. In this case, for catch the correct value I returned utf8[13].
I dont know what service/characteristic you are using, but in my case, to read all measurements from glucose meter you should enable the notification for these service/characteristic.
this.manager.monitorCharacteristicForDevice(
                            this.state.dv.id,
                            '00001808-0000-1000-8000-00805f9b34fb',
                            '00002A18-0000-1000-8000-00805f9b34fb',
                            async (err, characteristic) => {

Now, you are able to receive all values from device. The next step you should write some data (in my case 0101 to read all measurements ) and I used this.
             var myData = '0x0101';

                                const dataMostSignificantByte = (myData >> 8) & 0xFF;
                                const dataLeastSignificantByte = myData & 0xFF;

                                const dataByteArrayInLittleEndian = [dataLeastSignificantByte, dataMostSignificantByte];
                                const dataInBase64 = Buffer.from(dataByteArrayInLittleEndian).toString('base64');

                                this.manager.writeCharacteristicWithResponseForDevice(
                                    this.state.dv.id,
                                    '00001808-0000-1000-8000-00805f9b34fb',
                                    '00002A52-0000-1000-8000-00805f9b34fb',
                                    dataInBase64
                                )

Credits: @dariuszseweryn
Pls, try using these function, or let me know about what info you wanna read from glucose meter.

Glad that I could help

@renatoramossilva - I can't thank you enough man! This saved my day! I was also looking for the glucose measurements and this got me all of them in a jiffy! However, I found some anomalies with your getValueFromBase64 implementation. The glucose reading that am looking for is found at 15th index one time, and 14th in the other, sometimes at 13 too.. If this would be of any help to you, please check it out... Install this library called 'buffer'
npm i buffer
const Buffer = require('buffer/').Buffer
...
  async(err, char) => {
    const values = Buffer.from(char.value, 'base64')
    const glucoseValue = values[12]   // 12th position in the case of my device
    console.log(glucoseValue)
}
...

And thanks to you too @dariuszseweryn !!

Hi @ram95krishh ,
iv been following the instructions on this thread to get  Glucose Measurement value from Accu-Chek guide device.
iv added a writeCharacteristicWithResponseForDevice for ACP and Glucose Measurement characteristics.  iv gotten back a response from Glucose Measurement but iv been stumped by its response data. i cant make out its value.
we're you able to solve your problem?
this is what i see after  const values = Buffer.from(char.value, 'base64') on Glucose Measurement characteristic.
[27, 4, 0, 195, 164, 7, 7, 14, 11, 6, 5, 90, 2, 119, 194, 176, 195, 184, 0, 0]

i was able to decode the returned value Glucose Measurement characteristic.
this article helped me heaps http://www.cocoasteam.com/?p=566 .
especially this breakdown of the response from characteristic
http://www.cocoasteam.com/wp-content/uploads/2018/11/GlucoseDecoder.png
thanks @renatoramossilva for your code example helped me heaps as well.

Hi @fitbuff,
The code works for you? If yes, great! If dont, please let me know what is your problem and I try help you.
I wrote this code to Contour Next One glucometer and now I´m working in the accu check integration.
Do you have this issue solved? I ask it because to connect the app to device is easier using contour and I dont know how I should use (in the app) the PIN that the accu check generates.
Can you explain me the flow and how do you implemented this issue?
Thanks

i was able to decode the returned value Glucose Measurement characteristic.
this article helped me heaps http://www.cocoasteam.com/?p=566 .
especially this breakdown of the response from characteristic
http://www.cocoasteam.com/wp-content/uploads/2018/11/GlucoseDecoder.png
thanks @renatoramossilva for your code example helped me heaps as well.

hi @renatoramossilva ,
yes the code works for me with Accu-Chek Guide.

... to connect the app to device is easier using contour and I dont know how I should use (in the app) the PIN that the accu check generates.

yeah, once you hit Pairing (Settings > Wireless > Pairing) and the your app is monitoring 2a18 (Characteristic).
this.device.monitorCharacteristicForDevice(
  device.id,
  '00001808-0000-1000-8000-00805f9b34fb',
   '00002a18-0000-1000-8000-00805f9b34fb',
   () => {}
)

it should prompt you for a pin to pair on your app (pin is shown on the Accu Chek device)
at least thats whats happening to me

Hi @fitbuff,
I am trying to connect accu check to my app and when the glucometer ask me about the pin the android opens a popup to insert this pin.
Are you doing this way?
Because I wanna do equals to MySugar App that the user insert the pin inside of the app.
Please. let me know how works your solution.

Hey @fitbuff  and @renatoramossilva , I guess all of us just want to know a way to check if the pin was successfully entered. The device.isConnected() handler returns true even before the pin is entered and is leading to many bugs for me!

I am trying to connect accu check to my app and when the glucometer ask me about the pin the android opens a popup to insert this pin. Are you doing this way?

yes, showing the pop-up asking for a pin is normal. you can check the Accu-Chek Connect app to see how their doing it.

The BLEDeviceInstance.isConnected() handler returns true even before the pin is entered and is leading to many bugs for me!
i havnt thought about checking the connectivity of a device for the app im working on. i cant think of a use case where il need one. this feature on app is simple it'll only retrieve the Glucose reading from peripheral and display it to the user. :]

@fitbuff You will need it later.. You can't install listeners before pairing is completed! First pair scenario will end up becoming problematic. Coming to your question.. You can't receive all values at once at your listener.. You send the RACP command [1,1] you will receive all values from the accuchek device one by one at the listener you installed for the Glucose Measurement Characteristic Id '00002A18-0000-1000-8000-00805f9b34fb'. Here is a small snippet with regards to the RACP Command I write for all readings.. (written for redux-saga implementation in my app, convert it to your equivalent approach)...
function* syncAllReadings() {
  try {
    const meter = yield select(selectors.getConnectedMeter)  // this is the BLEDevice Instance
    // RACP Command [1,1] - for all values
    var allValuesRetriever = allValuesRACPCommand;    // "0x0101"
    const dataMostSignificantByte = (allValuesRetriever >> 8) & 0xFF;
    const dataLeastSignificantByte = allValuesRetriever & 0xFF;

    const dataByteArrayInLittleEndian = [dataLeastSignificantByte, dataMostSignificantByte];
    const allValuesRetrieverInBase64 = Buffer.from(dataByteArrayInLittleEndian).toString('base64');

    yield call([manager, manager.writeCharacteristicWithResponseForDevice],
      meter.id,
      BLE_GlucoseServiceID,          // "00001808-0000-1000-8000-00805f9b34fb"
      BLE_CharacteristicIds.RACP, // '00002a52-0000-1000-8000-00805f9b34fb'
      allValuesRetrieverInBase64
    )
  } catch (err) {
    handleError(err)
  }
}

thanks @ram95krishh .
i cant continually monitor Glucose characteristic. any ideas?
so theres a Data Transfer option where i can transfer data manually from Glucose peripheral device via bluetooth.
selecting it the first time works but selecting it again for the 2nd time does not execute
this.manager.monitorCharacteristicForDevice(
                  device.id,
                  '00001808-0000-1000-8000-00805f9b34fb',
                  '00002a18-0000-1000-8000-00805f9b34fb'
)

Hi @fitbuff,
I did the test how you told me and it works. But I want that the ble notification to insert the PIN appears as a pop up.
Do you know how I can do it?

hi @renatoramossilva ,
insert PIN pop up should appear once you have monitorCharacteristicForDevice().

@renatoramossilva can you share your code to get all values and reat latest glucose ? I am getting an error when send command 0x0101 with write method and i don't have Idea what is wrong :(

@fitbuff How do you do to Data Transfer option works? I can get all glucose values from the accu chek and write commands to the RACP characteristic, but when im trying to transfer data to my device its is disconnecting the accu chek from my app.

Hello, excuse my bad English, I am using a blood glucose monitoring system, the problem I have is that it does not monitor the changes in my sensor and tells me that it is connected, and it does not throw an error either, it just does nothing, this is my code:
        if (device.name === 'name_device') {
            manager.stopDeviceScan();
            device.connect()
            .then((device) => {
                return device.discoverAllServicesAndCharacteristics()
            })
            .then((device) => {
                device.monitorCharacteristicForService('UDDISERVICE', 'UDDI', (error, characteristic) => {
                    if (error) {
                      console.log(error)
                      return
                    }

                    const arrayBytes = base64js.toByteArray(characteristic.value);
                    console.log(arrayBytes)
                });
            }, (error) => {
                console.log(error.message)
                manager.destroy();
            })
        }

Hello, excuse my bad English, I am using a blood glucose monitoring system, the problem I have is that it does not monitor the changes in my sensor and tells me that it is connected, and it does not throw an error either, it just does nothing, this is my code:
        if (device.name === 'name_device') {
            manager.stopDeviceScan();
            device.connect()
            .then((device) => {
                return device.discoverAllServicesAndCharacteristics()
            })
            .then((device) => {
                device.monitorCharacteristicForService('UDDISERVICE', 'UDDI', (error, characteristic) => {
                    if (error) {
                      console.log(error)
                      return
                    }

                    const arrayBytes = base64js.toByteArray(characteristic.value);
                    console.log(arrayBytes)
                });
            }, (error) => {
                console.log(error.message)
                manager.destroy();
            })
        }

@GiuseppeEpifani, Can you connect to device? I follow these steps
1 - Scan (you can use this function using the GLUCOSE service to get only glucometers)
2 - The scan return is a device object, so you can call the function devicetoDevice, passing the device.id as argument.
3 - After that, you should discover all services and charac and so you can read the properties
3.1 Use readCharacteristicForDevice to read the characteristics that have the READ property
3.2 Use monitorCharacteristicForDevice to read the characteristics that has NOTIFY or INDICATE as propety

The device apparently does connect and discover the services and characteristics, but it is not monitoring me and it does not throw me an error, it simply does not do anything, it should be noted that I use this code to connect to pulse oximeter sensors, Blood Pressure meter and thermometer , and all can be monitored correctly, I leave an example of my code:
        if (device.name === 'Samico GL') {
            manager.stopDeviceScan();
            device.connect()
            .then((device) => {
                return device.discoverAllServicesAndCharacteristics()
            })
            .then((device) => {
                    device.monitorCharacteristicForService('FFF0', 'FFF4', (error, characteristic) => {
                    if (error) {
                      console.log(error)
                      return
                    }
                    console.log(characteristic)
                });
            }, (error) => {
                console.log(error.message)
                manager.destroy();
            })
        }

I don't understand what could be wrong, as I am using the glucose sensor documentation, I would appreciate any help.
I leave a screenshot of the api steps

@GiuseppeEpifani did you figure it out? Are you using the Sam_Andesfit monitor?

Yes, I read the documentation, and the monitorcharacteristicfordevice enables the device to receive data.
This issue its ok for me. The problem is that I need to send a command to ble device by RACP, and its doenst work for me.
Ex. I wanna send the command to read all measurements from glucose meter. I know that i need send (0x) 0101 to device, but I dont know why it doenst work.
I am sure that the monitorCharacteristicForDevice works because I do it in my app, and I am using other app (Nordic ToolBox) to send the RACP. After it I can see all measurement in my app, but I want to do it without use other app.

hi, i have problem in activate sensor to monitor, how do you know its (0x) 0101 to activate the sensor ? and if it in documentation paper, how do i find the value to activate sensor if i dont have documentation paper ? cz i have different device than you


Publish remaining breadcrumb deployments.

This adds a <topic>/remaining topic that publishes the remaining deployments.
Signed-off-by: Nate Koenig<EMAIL_ADDRESS>

Added test: c64b8fd4b40b92b0fb220795321e1b2105f2a69f


Docker image

Hi!
Do you plan to release a docker image or a docker compose for this project?

I would like this too

I have one just about ready, I'll keep you posted.

Cool, I plan to eventually also make that into a new version. May I get in touch with you regarding that when I start?

Absolutely, happy to help out! You can reach me offline through corey at digitalsleuth dot ca.
Once I get back to my comp I'll create a repo with the current Dockerfile and Compose file.

I'd love to assist with this lift too @cyb3rfox! 😄


The checkpoint of LLaVA-NeXT-Video stage1.

Hi!
I wonder know whether you have the plan to release the checkpoint of LLaVA-NeXT-Video stage 1, the pretrain version.
I want to finetune the model from this stage!

Hi, we do not have the stage1 for LLaVA-NeXT-Video

Oh, I just mean the the checkpoint after pretraining the projector with 558K data


overlays not positioned correctly

I'm working on a application where I would like to consider using Openseadragon. The project involves displaying single images that have been been OCRd using machine learning.
Users of the application will verify OCRd text at specific locations. The application has access to the suggested OCRd text and the x and y coordinates for the bounding box of where the OCRd text exists. The x and y coordinates are in  percentages of the image, with 0, 0 starting at the upper left side of the image.
By all indications, this should be a good fit for Openseadragon. But overlays drawn on the image using Openseadragon are never where they should be. Since Openseadragon has been released for so long, I assume I'm doing something wrong.
To show the problem, I have created a Code Sandbox project. I have supplied an image that shows where each of the highlights should be placed. Two buttons are provided at the bottom of the page to walk through the highlights. The computed Openseadragon Rect objects are logged in the console.
I would appreciate help understanding why the highlights are off.
The project uses the latest version of Openseadragon, which at the time of writing this, is v4.0.0.

@robhicks
You'll probably find it pretty easy to work with percentage coordinates in OpenSeadragon.
OpenSeadragon's viewport coordinates have one issue, however: y-axis coordinates/sizes are a factor of the image width and the image aspect ratio, so you'll need to adjust for that.
I've never used codesandbox before, but I forked your sandbox and adjusted your overlayRect y-coordinates and heights by multiplying by hardcoded image aspect ratio. Hopefully this gets you closer to what you're looking for;
CodeSandbox

y-axis coordinates/sizes are a factor of the image width and the image aspect ratio, so you'll need to adjust for that.
This. We ran into this as well.
Most of our testing was with mostly square images, so we didn't even catch it until customers noticed in production.


Bundle should not be deleted while it owns some resources

Need to verify that owner references with "block owner deletion" flag actually work as expected. If not, Bundle should have a finalizer to block deletion.

@ash2k comment for BlockOwnerDeletion says the following:
	// If true, AND if the owner has the "foregroundDeletion" finalizer, then
	// the owner cannot be deleted from the key-value store until this
	// reference is removed.
	// Defaults to false.
	// To set this field, a user needs "delete" permission of the owner,
	// otherwise 422 (Unprocessable Entity) will be returned.
	// +optional
	BlockOwnerDeletion *bool `json:"blockOwnerDeletion,omitempty" protobuf:"varint,7,opt,name=blockOwnerDeletion"`

i.e. Bundle needs to have a "foregroundDeletion" finalizer.
See https://kubernetes.io/docs/concepts/workloads/controllers/garbage-collection/#foreground-cascading-deletion

The object’s metadata.finalizers contains the value “foregroundDeletion”.

In other words, we need to manually add a "foregroundDeletion" to the list of Bundle finalizers. And after that the Garbage Collector should delete all the objects respecting the dependency graph.

In order to make GC work for deletion of resources, we should also set an ownerReference to the owner Bundle, but currently we only add a label:
apiVersion: servicecatalog.k8s.io/v1beta1
kind: ServiceBinding
metadata:
  creationTimestamp: 2018-02-13T04:21:35Z
  finalizers:
  - kubernetes-incubator/service-catalog
  generation: 1
  labels:
    smith.atlassian.com/BundleName: v-test
  name: showenv--sqs
  namespace: sctest
  ownerReferences:
  - apiVersion: servicecatalog.k8s.io/v1beta1
    blockOwnerDeletion: true
    kind: ServiceInstance
    name: sqs
    uid: 584cc40a-1075-11e8-8819-32d7bcc7b2c9
  resourceVersion: "1302"
  selfLink: /apis/servicecatalog.k8s.io/v1beta1/namespaces/sctest/servicebindings/showenv--sqs
  uid: 60a01f18-1075-11e8-8819-32d7bcc7b2c9

I'll pick up this task and try to fix it using foregroundDeletion.

I made an experiment to check the behavior of deletion with blockOwnerDeletion.
---
apiVersion: v1
kind: Secret
metadata:
  name: root
  namespace: sctest
type: Opaque
---
apiVersion: v1
kind: Secret
metadata:
  name: middle
  namespace: sctest
  ownerReferences:
  - apiVersion: v1
    blockOwnerDeletion: true
    controller: true
    kind: Secret
    name: root
    # replace UID with the actual one after create and update it
    uid: 8c9ed2c3-109c-11e8-ba18-0a517c7aa8f4
type: Opaque
---
apiVersion: v1
kind: Secret
metadata:
  name: leaf
  namespace: sctest
  finalizers: # should block deletion of parent?
  - nislamov/test-blocker
  ownerReferences:
  - apiVersion: v1
    blockOwnerDeletion: true
    controller: true
    kind: Secret
    name: middle
    # replace UID with the actual one after create and update it
    uid: 8cba4a7a-109c-11e8-ba18-0a517c7aa8f4
type: Opaque

created 3 secrets (root, middle and leaf)
marked them with ownerReferences (root <- middle <- leaf) with blockOwnerDeletion: true
marked the leaf secret with nislamov/test-blocker finalizer (which should prevent this object from deletion)
deleted the root resource:

❯ k delete secret -n sctest root
secret "root" deleted

Result: root and middle secrets are gone, leaf secret is marked with deletionTimestamp, but still exists (because of custom finalizer).

Apparently kubectl doesn't use propagationPolicy: Foreground yet, I guess that's the source of the problem: https://github.com/kubernetes/kubernetes/issues/46659
And that's why documentation provides an example of passing propagationPolicy: Foreground as a raw POST request instead of kubectl delete command: https://kubernetes.io/docs/concepts/workloads/controllers/garbage-collection/#setting-the-cascading-deletion-policy.

So most probably the foreground deletion works fine when you delete the Bundle through API call with propagationPolicy: Foreground, but when you delete it using kubectl delete it will work the way I described above.
I guess the only reliable way for now (until the kubectl issue is fixed) is to mark all the objects with Smith's finalizer and perform the cascade deletion manually (in the Smith code). After the kubectl issue is resolved, we can delete this code.

As I predicted above, I have reproduced the issue we have seen with instances and bindings.
Took the example above and marked the middle object with custom serializer (instead of leaf as previously). Deleted root again. Result: root is gone, middle is marked with deletionTimestamp, leaf NOT marked with deletionTimestamp.
In the situation with ServiceInstance and ServiceBinding we see instances marked with deletionTimestamp and bindings NOT marked with deletionTimestamp. Since instance controller waits until all bindings are deleted, this leads to both instances and bindings getting stuck.
We should either stop using kubectl for deleting Bundle and write some scripts for sending raw deletion requests for now, or implement manual deletion of children on the Smith side.

Another option would be to have a mutating admission hook that rewrites deletion requests to do foreground deletion. Seems like the easiest option. I don't want to spend time re-implementing Kube GC in Smith, especially if it works just fine.

Thanks for investigation btw.

So about that kubectl changed:
Make a change here: https://github.com/kubernetes/kubernetes/blob/master/pkg/kubectl/cmd/delete.go#L309
and it's a two line change.
Manual build with
WHAT="--use_go_build cmd/kubectl" make
and run with
./kubectl -v10 delete secret root (raising the logging makes kubectl print out equivalent curl commands and response bodies)
Against the example with middle being stuck just works. (leaf is deleted, middle is marked for deletion and goes away when you remove the finalizer)
index 80a9bd4992..94859466cb 100644
--- a/pkg/kubectl/cmd/delete.go
+++ b/pkg/kubectl/cmd/delete.go
@@ -312,8 +312,8 @@ func DeleteResult(r *resource.Result, f cmdutil.Factory, out io.Writer, ignoreNo
 }

 func cascadingDeleteResource(info *resource.Info, f cmdutil.Factory, out io.Writer, shortOutput bool, mapper meta.RESTMapper)
-       falseVar := false
-       deleteOptions := &metav1.DeleteOptions{OrphanDependents: &falseVar}
+       propagationPolicy := metav1.DeletePropagationForeground
+       deleteOptions := &metav1.DeleteOptions{PropagationPolicy: &propagationPolicy}
        return deleteResource(info, f, out, shortOutput, mapper, deleteOptions)
 }

@nilebox can we close this?


OpenAPI client generator docs link?

Hey there! I'm one of the maintainers of openapi-ts, a package for turning the generated OpenAPI specs into TypeScript clients. Would you be open to including a section in README on generating clients from OpenAPI specs? FastAPI has a similar section

It's not clear to me how to even get an openapi spec out of flasgger vs. just a ui rendering of the spec.  I'm trying to run httpbin locally and export the openapi spec so I can use it to wrap it for typescript use (same use case you specified) and I don't know where to start. httpbin is a flask app that uses this package to host https://httpbin.org

@lukevp I can't try right now since I see their website is down, but do you not have a link to the spec in Swagger UI? Can you alternatively try to replace/append a .json to your docs URL?

Nope... I'm more used to Swagger specs that render from the ASP.NET Core swagger tooling, which includes a link in the UI to download the spec.  The main homepage for https://httpbin.org is rendered by flasgger and doesn't have a spec definition link.  I don't know where you'd add .json in this case since there's no docs url, it's just at https://httpbin.org (https://httpbin.org.json doesn't work because it's considered a separate site?)
I've tried /openapi.json and /openapi.yml...
Actually, I just had an idea to check the network traces, and I saw that it loads the spec from https://httpbin.org/spec.json , so I think I'm unblocked now, but I still think it would make sense to have a url to download the spec directly in the UI.


softhsm: init at 2.0.0

SoftHSM is an implementation of a cryptographic store accessible through a PKCS #11 interface. You can use it to explore PKCS #11 without having a Hardware Security Module. It is being developed as a part of the OpenDNSSEC project. SoftHSM uses Botan for its cryptographic operations.

Will rebase and continue at some other time.


cannot make it work

Btw, it is a great project! But I cannot make it work.
I have built the image as instructed, using command docker_build.sh 22.04 successfully, then start the container through docker-desktop and see the log has warnings as shown in the attached snapshots.

Btw, instead of starting the container with docker-desktop, I have also tried to run a container via command line as instructed in the README file and end with same error(also tried nomachine to connect running container, cannot connect.).

This is how I build the image

Its been created successfully as listed,

Run a container

Remote Desktop Login failed

ssh login has no issue

you should use nomachine software to connect remote desktop, and port 14000 is used for connection.

you should use nomachine software to connect remote desktop, and port 14000 is used for connection.
By using nomachine software, it works! Thanks!
Again it is a great project!


Make license metadata SPDX compliant

Thanks for the PR, I have fixed the ci issue on master, can you rebase it?

Done

Thank you!


dotnet-sdk_7: 7.0.201 -> 7.0.202

Description of changes

https://github.com/dotnet/core/blob/main/release-notes/7.0/7.0.4/7.0.4.md
Things done

Built on platform(s)

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

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

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

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

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

[x] Fits CONTRIBUTING.md.

The netcoredbg issue was resolved by #221438 earlier today. Otherwise LGTM.

This pull request has been mentioned on NixOS Discourse. There might be relevant details there:
https://discourse.nixos.org/t/prs-ready-for-review/3032/1966

@ofborg eval


mbtiles file can't work in  nutiteq/hellomap3d-ios

hi, i use your project to create a mbtiles file, but the map can't be show in nutiteq/hellomap3d-ios. do you know why?

thanks your replay. I change the parameter to test the map file, It can's show. but I managed to show map created by MobAC. maybe the sdk or ios's problem.

Came to think of it, have you tried with the latest master revision ?


actin crosslink formation  MF in BP ontology

This is defined as an adaptor (i.e a protein linking 2 action filaments)
actin crosslink formation (GO:0051764) -
Type of cytoskeletal adaptor
Definition	Parents
The process in which two or more actin filaments are connected together by proteins that act as crosslinks between the filaments. The crosslinked filaments may be on the same or differing axes.
suggest ->
NTR actin cross linker
As a descendant of GO:0008093    cytoskeletal adaptor activity
Def
The binding activity of a protein that connects together two actin filaments.

note to self check existing annotations
actin filament binding with actin filament bundle assembly
is sometimes crosslinking


[QA] Animation not being accelerated on the current movement speed

Explorer Alpha build version:
0.3.19 fix-debug
Issue Description:

Incrementing the jog speed, the animation is not being triggered at first
Steps to reproduce:

On Locomotion: Base, change jog speed
Change it to a number equal or higher than 20
Start the movement

Expected behaviour:
The animation accelerates on the movement speed
Current behaviour:
The animation is not being accelerated
Reproduction rate:

[ ] < 10%
[ ]  < = 25%
[ ]  50%
[ ]  < = 75%
[X]  100%

Severity:

[ ] Cosmetic
[ ] Minor
[X] Medium
[ ] High
[ ] Critical
[ ] Blocker

Priority:

[ ] High
[X] Medium
[ ] Low

Platforms / OS:

[ ] Windows 11
[X] Windows 10
[ ] Mac Sonoma
[ ] Mac (specify the version on Additional Notes)

Evidence:
https://github.com/decentraland/unity-explorer/assets/139157886/5cec350b-0013-49fa-a29a-a7ff4510c82c
Additional Notes:

Solved in newest builds


Add agenda and stash visualisation to environment visualiser

Description
This pull request updates the environment visualiser by adding agenda and stash visualisation as part of the steps to revamp the environment visualiser.
Type of change

[ ] Bug fix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] This change requires a documentation update
[ ] Code quality improvements

How to test

Run your local version of Source Academy linked to your own local js-slang. Make sure your local js-slang version is from https://github.com/source-academy/js-slang/pull/1430.
Enter a program in the playground, and switch to the environment visualizer tab.
Run the program and step through to see the changes.
The program can be edited and then rerun to see the updated environment.

Checklist

[x] I have tested this code

Future Work

Continue to improve and revamp the overall look and feel of the environment visualiser.
Refactor code for agenda and stash. See https://github.com/source-academy/frontend/commit/08787e29218553fb4be86eb2a89841aa5e3522ac.
Line highlighting for the editor also probably needs a refactor. It is currently being done via public/externalLibs/inspector/inspector.js. The reducer used for the highlight action is currently redundant. See https://github.com/source-academy/frontend/commit/9bfca78fac579d622188bdfb8d5062d2bbb809d5 and https://github.com/source-academy/frontend/commit/ced59d455538c84bf7e60d415ace23074672e769.
Add testing

Note

This pull request needs the update in js-slang and would not work without https://github.com/source-academy/js-slang/pull/1430.
I needed to remove "obsolete" snapshot files for ApplicationWrapper and ResearchAgreementPrompt if not the test suite would complain. I am not sure if this is correct as I was resolving merge conflicts when merging with main.

Yup I removed the 2 snapshots for ApplicationWrapper and ResearchAgreementPrompt in the main branch. Might have been due to the merge conflict

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

84 of 245 (34.29%)  changed or added relevant lines in 20 files are covered.
8 unchanged lines in 4 files lost coverage.
Overall coverage increased (+0.02%) to 36.478%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

src/commons/workspace/WorkspaceActions.ts
1
2
50.0%

src/features/envVisualizer/compactComponents/ArrayUnit.tsx
0
2
0.0%

src/features/envVisualizer/compactComponents/arrows/GenericArrow.tsx
0
2
0.0%

src/commons/utils/JsSlangHelper.ts
0
6
0.0%

src/commons/workspace/WorkspaceReducer.ts
0
8
0.0%

src/commons/sagas/WorkspaceSaga.ts
3
14
21.43%

src/features/envVisualizer/EnvVisualizerLayout.tsx
18
29
62.07%

src/features/envVisualizer/EnvVisualizer.tsx
11
23
47.83%

src/commons/sideContent/SideContentEnvVisualizer.tsx
0
13
0.0%

src/features/envVisualizer/compactComponents/arrows/ArrowFromStackItemComponent.tsx
0
14
0.0%

Files with Coverage Reduction
New Missed Lines
%

src/commons/sagas/WorkspaceSaga.ts
2
68.05%

src/features/envVisualizer/compactComponents/values/GlobalFnValue.tsx
2
0%

src/features/envVisualizer/components/values/FnValue.tsx
2
58.72%

src/features/envVisualizer/components/values/GlobalFnValue.tsx
2
45.54%

Totals

Change from base Build<PHONE_NUMBER>:
0.02%

Covered Lines:
5335

Relevant Lines:
13732

💛  - Coveralls


feat: add --to option to dev so builddir can be outside project root

This makes it comatible with the build and diff command. Not writing to the project directory helps with nx caching.
Given this buildDir now surfaces about everywhere, a global setting somewhere would be nice at some point.

This is similar to #2998.

@thdxr take a quick look?


profile_filter_id not working sonarr v3

I'm unable to get it sync 2 Sonarr instances when using profile_filter_id. Without it it works fine and syncs up to B. I've checked the code but can't find the exact reason.
 I added some extra logs in version 1.7.4 to show if a title was skipped and why to see if they are being skipped or not. If you still can't see why can you post the new logs here from v1.7.4?

Ok thanks for that as it now shows me more than before.
Not going post the whole log but see here an issue, show "All night" was added today with a new profile which I want to sync. As per log this is profile 12 which I use to filter on, it shows "All night" got profile 12 but it still gets skipped.
2020-02-10 23:28:51,974 [MainThread  ] [INFO ]  syncing content from instance A to instance B
2020-02-10 23:28:51,974 [MainThread  ] [INFO ]  only filtering content from instance with profile_filter_id "12"
2020-02-10 23:28:51,974 [MainThread  ] [INFO ]  Skipping content American Gods - mismatched profile_id 7
<->
2020-02-10 23:28:52,244 [MainThread  ] [INFO ]  Skipping content Space Adventure Cobra - mismatched profile_id 8
2020-02-10 23:28:52,244 [MainThread  ] [INFO ]  Skipping content The Critic - mismatched profile_id 8
2020-02-10 23:28:52,244 [MainThread  ] [INFO ]  Skipping content Who Killed Malcolm X? - mismatched profile_id 10
2020-02-10 23:28:52,244 [MainThread  ] [INFO ]  Skipping content Metal Evolution - mismatched profile_id 10
2020-02-10 23:28:52,244 [MainThread  ] [INFO ]  Skipping content Wipeout (US) - mismatched profile_id 10
2020-02-10 23:28:52,244 [MainThread  ] [INFO ]  Skipping content Takeshi's Castle - mismatched profile_id 10
2020-02-10 23:28:52,245 [MainThread  ] [INFO ]  Skipping content Dilbert - mismatched profile_id 8
2020-02-10 23:28:52,245 [MainThread  ] [INFO ]  Skipping content Babies - mismatched profile_id 10
2020-02-10 23:28:52,245 [MainThread  ] [INFO ]  Skipping content Robot Wars - mismatched profile_id 10
2020-02-10 23:28:52,245 [MainThread  ] [INFO ]  Skipping content Scrapheap Challenge - mismatched profile_id 10
2020-02-10 23:28:52,245 [MainThread  ] [INFO ]  Skipping content Fort Boyard - mismatched profile_id 10
2020-02-10 23:28:52,245 [MainThread  ] [INFO ]  Skipping content Public Enemy - mismatched profile_id 10
2020-02-10 23:28:52,245 [MainThread  ] [INFO ]  Skipping content All Night - mismatched profile_id 12
2020-02-10 23:28:52,245 [MainThread  ] [INFO ]  Skipping content The Truth Will Out - mismatched profile_id 10
2020-02-10 23:28:52,245 [MainThread  ] [INFO ]  Skipping content The Wayans Bros. - mismatched profile_id 10
2020-02-10 23:28:52,245 [MainThread  ] [INFO ]  Skipping content Mister Rogers' Neighborhood - mismatched profile_id 10
2020-02-10 23:28:52,245 [MainThread  ] [INFO ]  Skipping content Clerks - mismatched profile_id 8

I can't figure out why 12 != 12. It SHOULD work. in the latest version I just pushed I have this line
# if given this, we want to filter from instance by profile id
if profile_filter_id:
  content_profile_id = content.get('qualityProfileId')
  if profile_filter_id != content_profile_id:
    logging.debug(f'Skipping content {title} - mismatched profile_id {content_profile_id} with filter_id {profile_filter_id}')
    continue

profile_filter_id != content_profile_id is the simple comparison here. I tried adding to the 'Skipping content' log both ids and made it a debug level log. Both content_profile_id and profile_filter_id should be 12 in the log.

My thoughts exactly ;-). I've pulled the latest and issue is still there. For giggles I've hardcoded the profile_id to 12 in the code and it synced "All night" as it should. I'm not a python coder (I do bash mostly) so I'll not speculate on what it could be.
if profile_filter_id != content_profile_id:
            if 12 != content_profile_id:


HBASE-23066 - Allow cache on write during compactions when prefetchin…

I have updated the PR (created a new one) with the comments. Now the config is not dependent on the prefetch block option. Just that we can use it as a toggle config. So once cache on compaction is enabled, the blocks are cached.
The threshold level change will do in another subtask. (https://issues.apache.org/jira/browse/HBASE-23350)

:broken_heart: -1 overall

Vote
Subsystem
Runtime
Comment

+0 :ok:
reexec
0m 32s
Docker mode activated.

_ Prechecks _

+1 :green_heart:
dupname
0m  0s
No case conflicting files found.

+1 :green_heart:
hbaseanti
0m  0s
Patch does not have any anti-patterns.

+1 :green_heart:
@author
0m  0s
The patch does not contain any @author tags.

+1 :green_heart:
test4tests
0m  0s
The patch appears to include 1 new or modified test files.

_ master Compile Tests _

+1 :green_heart:
mvninstall
5m 30s
master passed

+1 :green_heart:
compile
0m 58s
master passed

+1 :green_heart:
checkstyle
1m 22s
master passed

+1 :green_heart:
shadedjars
5m 35s
branch has no errors when building our shaded downstream artifacts.

+1 :green_heart:
javadoc
0m 40s
master passed

+0 :ok:
spotbugs
5m  4s
Used deprecated FindBugs config; considering switching to SpotBugs.

+1 :green_heart:
findbugs
5m  2s
master passed

_ Patch Compile Tests _

+1 :green_heart:
mvninstall
4m 58s
the patch passed

+1 :green_heart:
compile
0m 55s
the patch passed

+1 :green_heart:
javac
0m 55s
the patch passed

-1 :x:
checkstyle
1m 18s
hbase-server: The patch generated 3 new + 46 unchanged - 0 fixed = 49 total (was 46)

+1 :green_heart:
whitespace
0m  1s
The patch has no whitespace issues.

+1 :green_heart:
shadedjars
4m 43s
patch has no errors when building our shaded downstream artifacts.

+1 :green_heart:
hadoopcheck
15m 47s
Patch does not cause any errors with Hadoop 2.8.5 2.9.2 or 3.1.2.

+1 :green_heart:
javadoc
0m 35s
the patch passed

+1 :green_heart:
findbugs
4m 17s
the patch passed

_ Other Tests _

+1 :green_heart:
unit
171m 38s
hbase-server in the patch passed.

+1 :green_heart:
asflicense
0m 32s
The patch does not generate ASF License warnings.

230m 51s

Subsystem
Report/Notes

Docker
Client=19.03.5 Server=19.03.5 base: https://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-889/1/artifact/out/Dockerfile

GITHUB PR
https://github.com/apache/hbase/pull/889

Optional Tests
dupname asflicense javac javadoc unit spotbugs findbugs shadedjars hadoopcheck hbaseanti checkstyle compile

uname
Linux 46e98e00faee 4.15.0-58-generic #64-Ubuntu SMP Tue Aug 6 11:12:41 UTC 2019 x86_64 GNU/Linux

Build tool
maven

Personality
/home/jenkins/jenkins-slave/workspace/HBase-PreCommit-GitHub-PR_PR-889/out/precommit/personality/provided.sh

git revision
master / ad607a1d76

Default Java
1.8.0_181

checkstyle
https://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-889/1/artifact/out/diff-checkstyle-hbase-server.txt

Test Results
https://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-889/1/testReport/

Max. process+thread count
4555 (vs. ulimit of 10000)

modules
C: hbase-server U: hbase-server

Console output
https://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-889/1/console

versions
git=2.11.0 maven=2018-06-17T18:33:14Z) findbugs=3.1.11

Powered by
Apache Yetus 0.11.1 https://yetus.apache.org

This message was automatically generated.

Closing the PR as I created another one with my localrepo pointing to a branch HBASe-23066.


Powerkey too slow

I bought this because karabiner doesn't work with Sierra. I used to use karabiner to make backslash do forward delete. I like the concept of your app but it is way too slow. To delete more than one letter I have to tap and hold for each letter which is painful. Is there any way you can make this app work faster?

The delay you describe is caused by Apple's special treatment of the Power key (as well as a few other keys such as Caps Lock). The Power key requires a hard press compared to other keys, shuts the computer off if held down, etc.
We unfortunately don't currently have a way to get around those limitations. #1
Remapping the standard backslash key would avoid all the issues mentioned above, but as you mentioned Karabiner does not currently work with Sierra: https://github.com/tekezo/Karabiner/issues/660
Adding support for remapping other keys is a bit outside the scope of PowerKey. Sorry for the app's limitations, and please send an email if you're not going to use PowerKey and would like a refund.

Thanks for the speedy response. That’s what I figured. $5 is nothing and I will use it until karabiner is fixed
Regards
Peter Munn  Managing Director
Harvest Electronics
+64 6 370 1991
PO Box 446 | 10 Pragnell Street
Masterton 5810 | New Zealand
<EMAIL_ADDRESS>On 20/10/2016, at 9:33 AM, Peter Kamb <notifications<EMAIL_ADDRESS>wrote:
The delay you describe is caused by Apple's special treatment of the Power key (as well as a few other keys such as Caps Lock). The Power key requires a hard press compared to other keys, shuts the computer off if held down, etc.
We unfortunately don't currently have a way to get around those limitations. #1https://github.com/pkamb/PowerKey/issues/1
Remapping the standard backslash key would avoid all the issues mentioned above, but as you mentioned Karabiner does not currently work with Sierra: tekezo/Karabiner#660https://github.com/tekezo/Karabiner/issues/660
Adding support for remapping other keys is a bit outside the scope of PowerKey. Sorry for the app's limitations, and please send an email if you're not going to use PowerKey and would like a refund.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHubhttps://github.com/pkamb/PowerKey/issues/47#issuecomment-254932111, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AV4Y4Oq8seiCQst06PHGh4nfRq_A6Lb1ks5q1n6MgaJpZM4KbXl_.


Hydra ML config manager instead of Argparse

Use Hydra instead of Argparse, since it is easier to manage configs of different models, datasets, etc.
For example, iinstead of instantiating models with lengthy code, such as:
if args.model == "....":
   model = ....

We can use a single call
model = instantiate(cfg.model)

currently used by the etnn_spatial

Closed in 77bf3ba


Complete up command

There is still some flags/options to support for the up command : --no-color, --no-deps, --build, --abort-on-exit (see #162), --timeout and --remove-orphans .

Usage: up [options] [SERVICE...]

Options:
    -d                         Detached mode: Run containers in the background,
                               print new container names.
                               Incompatible with --abort-on-container-exit.
    --no-color                 Produce monochrome output.
    --no-deps                  Don't start linked services.
    --force-recreate           Recreate containers even if their configuration
                               and image haven't changed.
                               Incompatible with --no-recreate.
    --no-recreate              If containers already exist, don't recreate them.
                               Incompatible with --force-recreate.
    --no-build                 Don't build an image, even if it's missing.
    --build                    Build images before starting containers.
    --abort-on-container-exit  Stops all containers if any container was stopped.
                               Incompatible with -d.
    -t, --timeout TIMEOUT      Use this timeout in seconds for container shutdown
                               when attached or when containers are already
                               running. (default: 10)
    --remove-orphans           Remove containers for services not defined in
                               the Compose file

--build/--no-build are simple to implement, no-color and --timeout probably too
--remove-orhpan and --no-deps a little bit more trick
--abort-on-container-ext is gonna be harder (and depends/is related on/to https://github.com/docker/libcompose/pull/290)

--build/--no-build are simple to implement, no-color and --timeout probably too
--remove-orhpan and --no-deps a little bit more trick

I will try to complete these two first then

Is detached (-d) option currently available and is it possible to pass a service name?


Combined auth pages and landing

to simplify things and get rid of lots of unnecessary files since we only use Google Auth

Looks like this


haskellPackages.gauge: fix darwin build

Description of changes
Include unreleased patch which is already merged upstream (https://github.com/vincenthz/hs-gauge/pull/106) to fix the aarch64 darwin build.
ZHF: #230712
Things done

Built on platform(s)

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

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

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

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

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

[x] Fits CONTRIBUTING.md.

Result of nixpkgs-review pr 232950 run on x86_64-linux 1

Result of nixpkgs-review pr 232950 run on aarch64-darwin 1

4 packages built:

haskellPackages.gauge
haskellPackages.gauge.doc
haskellPackages.piped
haskellPackages.piped.doc

Result of nixpkgs-review pr 232950 run on x86_64-darwin 1

4 packages built:

haskellPackages.gauge
haskellPackages.gauge.doc
haskellPackages.piped
haskellPackages.piped.doc


Hub test 100: The notification is missing the HTTP Link header with rel=self indicating the topic URL of this notification.

I'm testing my WebSub phubb running at http://phubb.cweiske.de/hub.php, and test 100 says after I clicked on "Create post":

Error
The notification is missing the HTTP Link header with rel=self indicating the topic URL of this notification.

I'm pretty sure that I send this header. This is my debug output (JSON-escaped):
"header": [
    "content-type: text/html; charset=UTF-8",
    "content-length: 2700",
    "link: <https://websub.rocks/hub/100/pub/rXgPGgsHoABiRx8WFDUD>; rel=\"self\"",
    "link: <http://phubb.cweiske.de/hub.php>; rel=\"hub\""
],

I tried that locally with php 7.3.12-1 and it worked without problems:

Form item: "{
"type":"notification",
"error":false,
"description":"Great! Your hub sent a valid WebSub notification payload to the subscriber!",
"debug":"Topic Content-Type: text/html; charset" = "UTF-8\nContent-Type sent:  text/html; charse...

Code to reproduce my HTTP POST request:
<?php
$headers = [
    'User-Agent: phubb/bot',
    'content-type: text/html; charset=UTF-8',
    'content-length: 3',
    'link: <https://websub.rocks/hub/100/pub/rXgPGgsHoABiRx8WFDUD>; rel="self"',
    'link: <http://phubb.cweiske.de/hub.php>; rel="hub"',
];
$ctx = stream_context_create(
    array(
        'http' => array(
            'method'  => 'POST',
            'header'  => $headers,
            'content' => 'foo',
            'ignore_errors' => true,
        )
    )
);

file_get_contents('http://example.org/', false, $ctx);

What wireshark sees:
POST / HTTP/1.0
Host: example.org
Connection: close
User-Agent: phubb/bot
content-type: text/html; charset=UTF-8
content-length: 3
link: <https://websub.rocks/hub/100/pub/rXgPGgsHoABiRx8WFDUD>; rel="self"
link: <http://phubb.cweiske.de/hub.php>; rel="hub"

fooHTTP/1.0 200 OK
Accept-Ranges: bytes
Cache-Control: max-age=604800
Content-Type: text/html; charset=UTF-8
Date: Sat, 07 Mar 2020 21:42:52 GMT
Etag: "3147526947"
Expires: Sat, 14 Mar 2020 21:42:52 GMT
Last-Modified: Thu, 17 Oct 2019 07:18:26 GMT
Server: EOS (vny/0453)
Content-Length: 1256
Connection: close

Okay I tracked it down and it's only seeing the last link header that you're sending. I suspect this is because $_SERVER only shows the last header, and the framework it's using loads the headers from there.
You mentioned this worked under PHP 7.3? It's actually running on 7.3 on the server at websub.rocks. I wasn't able to reproduce seeing both headers in PHP 7.2 or 7.3. Could you try this test locally if it was working for you?
index.php
<?php
echo '$_SERVER'."\n";
print_r($_SERVER);
echo "\n";
echo "getallheaders()\n";
print_r(getallheaders());
echo "\n";

test.php
$headers = [
    'content-type: text/html; charset=UTF-8',
    'link: <https://websub.rocks/hub/100/pub/rXgPGgsHoABiRx8WFDUD>; rel="self"',
    'link: <http://phubb.cweiske.de/hub.php>; rel="hub"',
];
$ctx = stream_context_create(
    [
        'http' => [
            'method'  => 'GET',
            'header'  => $headers,
            'ignore_errors' => true,
        ]
    ]
);

$response = file_get_contents('http://<IP_ADDRESS>:9000/', false, $ctx);
echo $response."\n";

# in one window
php -S <IP_ADDRESS>:9000`
# in another window
php test.php

Both versions of reading the headers only sees the last rel=self link header.

I only have apache running here, and my "works here" referred to that one.
I just tried your test scripts, and indeed it does not work for with PHP's in-built web server:
$_SERVER
Array
(
    [DOCUMENT_ROOT] => /home/cweiske/dev/phinde/www
    [REMOTE_ADDR] => <IP_ADDRESS>
    [REMOTE_PORT] => 36070
    [SERVER_SOFTWARE] => PHP 7.3.12-1 Development Server
    [SERVER_PROTOCOL] => HTTP/1.0
    [SERVER_NAME] => <IP_ADDRESS>
    [SERVER_PORT] => 9000
    [REQUEST_URI] => /headertest.php
    [REQUEST_METHOD] => GET
    [SCRIPT_NAME] => /headertest.php
    [SCRIPT_FILENAME] => /home/cweiske/dev/phinde/www/headertest.php
    [PHP_SELF] => /headertest.php
    [HTTP_HOST] => <IP_ADDRESS>:9000
    [HTTP_CONNECTION] => close
    [CONTENT_TYPE] => text/html; charset=UTF-8
    [HTTP_CONTENT_TYPE] => text/html; charset=UTF-8
    [HTTP_LINK] => <https://websub.rocks/hub/100/pub/rXgPGgsHoABiRx8WFDUD>; rel="self"
    [REQUEST_TIME_FLOAT] =><PHONE_NUMBER>.9645
    [REQUEST_TIME] =><PHONE_NUMBER>
)

getallheaders()
Array
(
    [Host] => <IP_ADDRESS>:9000
    [Connection] => close
    [content-type] => text/html; charset=UTF-8
    [link] => <https://websub.rocks/hub/100/pub/rXgPGgsHoABiRx8WFDUD>; rel="self"
)

Apache:
$_SERVER
Array
(
    [HTTP_HOST] => phinde.boo
    [HTTP_CONNECTION] => close
    [CONTENT_TYPE] => text/html; charset=UTF-8
    [HTTP_LINK] => <https://websub.rocks/hub/100/pub/rXgPGgsHoABiRx8WFDUD>; rel="self", <http://phubb.cweiske.de/hub.php>; rel="hub"
    [PATH] => /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
    [SERVER_SIGNATURE] => <address>Apache/2.4.41 (Debian) Server at phinde.boo Port 80</address>

    [SERVER_SOFTWARE] => Apache/2.4.41 (Debian)
    [SERVER_NAME] => phinde.boo
    [SERVER_ADDR] => ::1
    [SERVER_PORT] => 80
    [REMOTE_ADDR] => ::1
    [DOCUMENT_ROOT] => /home/cweiske/dev/phinde/www/
    [REQUEST_SCHEME] => http
    [CONTEXT_PREFIX] =>
    [CONTEXT_DOCUMENT_ROOT] => /home/cweiske/dev/phinde/www/
    [SERVER_ADMIN] =><EMAIL_ADDRESS>    [SCRIPT_FILENAME] => /home/cweiske/dev/phinde/www/headertest.php
    [REMOTE_PORT] => 60792
    [GATEWAY_INTERFACE] => CGI/1.1
    [SERVER_PROTOCOL] => HTTP/1.0
    [REQUEST_METHOD] => GET
    [QUERY_STRING] =>
    [REQUEST_URI] => /headertest.php
    [SCRIPT_NAME] => /headertest.php
    [PHP_SELF] => /headertest.php
    [REQUEST_TIME_FLOAT] =><PHONE_NUMBER>.749
    [REQUEST_TIME] =><PHONE_NUMBER>
)

getallheaders()
Array
(
    [Host] => phinde.boo
    [Connection] => close
    [content-type] => text/html; charset=UTF-8
    [link] => <https://websub.rocks/hub/100/pub/rXgPGgsHoABiRx8WFDUD>; rel="self", <http://phubb.cweiske.de/hub.php>; rel="hub"
)

There seems to be a solution for nginx: Merging headers via fastcgi_params config option:
https://stackoverflow.com/questions/39078447/can-nginx-handle-duplicate-x-forwarded-for-headers


Separate delegation protocol

Now, delegation protocol is separated and can be replaced by any subclasses of DelegationProtocol.
It should be more easy to integrate other protocol directly into foglet-ndp instead of creating a new subproject per protocol :koala:
Cheers :octocat:

Coverage increased (+0.9%) to 91.241% when pulling 4f964bd344aaebb5d8b446fabe47ca312cc5a73e on Callidon:master into 68503b7e1aad19fd3e1922ecee002337285cfb27 on folkvir:master.

:+1: :panda_face:
Nice work, and good idea, but can you create a foglet-ndp.js as main in the root folder ? In order to export 'ndp' and DelegationProtocol.
Please, re-send a pull-request with tag #1 !


Add framerate to restrictions on player configuration

Have you read the FAQ and checked for duplicate open issues? Yes
What version of Shaka Player are you using? 2.5.4
Can you reproduce the issue with our latest release version? Yes
Can you reproduce the issue with the latest code from master? Yes
Are you using the demo app or your own custom app? Both
If custom app, can you reproduce the issue using our demo app? Yes
What browser and OS are you using? Tizen 5
For embedded devices (smart TVs, etc.), what model and firmware version are you using?
Samsung QE49Q60RATXXC with the firmware 1303.7
What are the manifest and license server URIs?

https://storage.googleapis.com/shaka-demo-assets/sintel-mp4-only/dash.mpd
What did you do?

Load the previous stream
What did you expect to happen?
Stream play correctly.
What actually happened?

Stream is playing but the currenttime is always the same and there a no video (black) and no audio.

I think that the issue is related to the framerate of the video. Samsung has the next limitation on 4K
https://developer.samsung.com/tv/develop/guides/multimedia/4k-uhd-video
Is it possible add the limitations to configuration?
Now there are limitation for bandwidth, widht, height, but not framerate.

Yes, I think it would be reasonable to add framerate to the Restrictions object in the configuration.  Would you be willing to send a PR?
Note that there are two instances of that type in the config: one for ABR (restricts ABR choices, but other tracks can still be selected explicitly), and one at the top level which restricts all playback.  Both use the same type definition, so your new field would affect both.  But for your situation, you'd use the top-level one to restrict playback of high framerate video.

I don't see why not. Let me schedule that as an enhancement!


Delete model with fatal

Hi, I have a problem with vue-mc :
I try to remove an item on unexist route (I test my interface first). But, if the model.delete() failed, the deleting is already set to true and I can't retry without refresh my entire collection.
In a normal way, after the request, if it was an error, we can retry the delete. It's possible to fix that ?
Thanks

Deleting should be set to false when the request has failed. Are you finding that deleting is true in the handler? I'll take a look and let you know what I find.

I test that with :
myModel.delete()
    .then(() => {
        // success case
    })
    .catch((err) => {
        console.log(myModel.deleting); // return true
    });

I have to manually set deleting to false in the catch case

That's definitely a bug. 👍

There's a test called should set deleting to false on delete failure which passes. 🤔

What is the status here?

@throrin19 I'm going to close this because that test implies that this is not a bug.


Bug: TestCaptureLogger no longer derives from TestCaptureLogger

private TestCaptureLogger GetLogger()
{
    var result = new TestCaptureLogger<object>();
    return result;
}

Cannot implicitly convert type 'Stravaig.Extensions.Logging.Diagnostics.TestCaptureLogger' to 'Stravaig.Extensions.Logging.Diagnostics.TestCaptureLogger'

Could this be implicitly cast and have the underlying logger returned instead?
Should an explicit cast be required instead?
Or a method to get the underlying logger.

Fixed in PR #186


Release 0.2.0 to the Forge

This just updates everything to the 0.2.0 version. I like to make a symbolic PR before doing releases so that the release process can go through the PR review process. Once this is merged I'll publish this exact tag to Puppet Forge.

RELEASE THE KRAKEN! :shipit:


adding configmaps

solving https://github.com/pires/kubernetes-elasticsearch-cluster/issues/58
WIP

WFM on minikube 0.15.0 (k8s 1.5.1)
I'll add some docs changes

RFR @pires

@puja108 TBH this is more verbose with little gains. I was thinking more of having a ConfigMap containing default elasticsearch.yml (that already consumes environment variables) and simply override the ones specific to each deployment. WDYT?

True, somehow didn't think of the elasticsearch.yml before. What do you mean by override? With envs again?

- name: ES_JAVA_OPTS
  valueFrom:
    configMapKeyRef:
      name: es-config
      key: ES_JAVA_OPTS

Here you're still using container environment variables to override values in elasticsearch.yml, right? The idea would be to remove almost all options but the ones specific to each deployment, e.g. NODE_MASTER=false.

Sure, the general options are only 2 though (cluster name and java opts). So I'd move those two into elasticsearch.yml. Might be that we could set some more, but not sure how ES overrides, do envs override the yaml?

If the yaml refers to environment variables, yes, e.g. https://github.com/pires/docker-elasticsearch/blob/master/config/elasticsearch.yml.

Yeah, still the envs need to be set, I meant more like overriding the yaml with an env. cause otherwise the yaml would be nearly identical to what you posted (minus the 2 general options). If overriding would be possible we could set a "default" in the yaml and override it only when needed. E.g. default is HTTP_ENABLED=false but for client we enable it.
There's something about a es.default. prefix, but that seems to be the other way around, e.g. being set only if it's not already in the yaml.

@puja108 thanks for taking the effort to get this going, truly appreciated. I need to take some time to focus on this. Will ping you ASAP!

@puja108 Aren't you missing the including of the ConfigMap in the Deployment file?

@puja108 Any further plans with this?

Actually, this fact this isn't merged is my fault. I still haven't found the time to test properly and merge. So sorry all, but most of all @puja108 😭

Once this get merged will be possible to use it for x-pack credentials rotation?

@pires @puja108 I might be able to take a stab at this if you are busy with other work.

@alexbrand that would be sweet!

@alexbrand @pires
Hey guys, have you had any time to progress this?
The original pull request with subsequent conversation about overriding configmap with env vars for client/data/master role variances looks good...?

@kskewes Unfortunately no.


Add a readme and readme url for sample DAX datasets

Add sample readme and readme_url in dataset yaml to allow the UI to access the readme.
Related: https://github.com/machine-learning-exchange/mlx/pull/179

/assign @ckadner

@ckadner Please merge this if this is satisfactory. I do not have the privileges to merge.

@kmh4321

@ckadner thanks

@ckadner The files have been moved to folders now please merge if it looks good to you.


[YouTube] Likes/Dislikes Missing on Age-Restricted Videos with RYD Plugin + AGB + Cookies

DO NOT REMOVE OR SKIP THE ISSUE TEMPLATE

[X] I understand that I will be blocked if I intentionally remove or skip any mandatory* field

Checklist

[X] I'm reporting that yt-dlp is broken on a supported site
[X] I've verified that I have updated yt-dlp to nightly or master (update instructions)
[X] I've checked that all provided URLs are playable in a browser with the same IP and same login details
[X] I've checked that all URLs and arguments with special characters are properly quoted or escaped
[X] I've searched known issues and the bugtracker for similar issues including closed ones. DO NOT post duplicates
[X] I've read the guidelines for opening an issue
[ ] I've read about sharing account credentials and I'm willing to share it if required

Region
Canada
Provide a description that is worded well enough to be understood
Problem
Likes and Dislikes are not displaying correctly for age-restricted videos when utilizing yt-dlp's RYD plugin. Despite providing the necessary authentication data, the plugin fails to retrieve accurate Like and Dislike counts for such videos. This issue contrasts with the functionality of the RYD Chrome Extension, where Like and Dislike counts are displayed accurately.
The yt-dlp RYD Plugin, even when used with Cookies and AGB, fails to retrieve precise Like and Dislike counts for age-restricted videos. Below is an example of the JSON data showcasing the inaccuracies:
Example JSON Data:
{"id": "RBPk185Hd0A", "like_count": 0, "dislike_count": 0, "average_rating": 0}
{"id": "CUO8secmc0g", "like_count": 0, "dislike_count": 283, "average_rating": 1}
{"id": "dIZ-e4WwJ5w", "like_count": 0, "dislike_count": 179, "average_rating": 1}
{"id": "PZZfLROBw-0", "like_count": 0, "dislike_count": 0, "average_rating": 0}
{"id": "FvzRERrkiK4", "like_count": 0, "dislike_count": 5, "average_rating": 1}
{"id": "BJDH36BQ-qo", "like_count": 0, "dislike_count": 0, "average_rating": 0}
{"id": "4rBZOqnxZ5c", "like_count": 0, "dislike_count": 0, "average_rating": 0}

with RYD Chrome Extension:
RBPk185Hd0A, 9035, 1643
CUO8secmc0g, 32080, 283
dIZ-e4WwJ5w, 43654, 179
PZZfLROBw-0, 1152, 85
FvzRERrkiK4, 273, 5
BJDH36BQ-qo, 46447, 3780
4rBZOqnxZ5c, 56192, 5512

I've also opened an Issue for RYD related to this hoping they can help, please see: : RYD Issue #1035.
Proposed solution:
First off, I am not a coder or super tech-savvy to figure this out, However, my guess is the problem is requiring some Auth in order to fetch the Likes/Dislikes on AR videos, hence why I tried using AGB + cookies. Implementing some code methods of the RYD chrome extension may be necessary.
Any help in coming up with a solution is appreciated!
Provide verbose output that clearly demonstrates the problem

[X] Run your yt-dlp command with -vU flag added (yt-dlp -vU <your command line>)
[ ] If using API, add 'verbose': True to YoutubeDL params instead
[X] Copy the WHOLE output (starting with [debug] Command-line config) and insert it below

Complete Verbose Output
[debug] Command-line config: ['-vU', 'https://www.youtube.com/watch?v=BJDH36BQ-qo', '--skip-download', '--cookies-from-browser', 'chrome', '--use-postprocessor', 'ReturnYoutubeDislike:when=pre_process', '--print-to-file', '%(.{id,like_count,dislike_count})j', './Test_dislikes_cookies_age_gate.json']
Extracting cookies from chrome
[debug] Extracting cookies from: "C:\Users\Owner\AppData\Local\Google\Chrome\User Data\Default\Network\Cookies"
[debug] Found local state file at "C:\Users\Owner\AppData\Local\Google\Chrome\User Data\Local State"
Extracted 3187 cookies from chrome
[debug] cookie version breakdown: {'v10': 3422, 'other': 0, 'unencrypted': 0}
[debug] Encodings: locale cp1252, fs utf-8, pref cp1252, out utf-8, error utf-8, screen utf-8
[debug] yt-dlp version<EMAIL_ADDRESS>from yt-dlp/yt-dlp [f10589e34] (pip)
[debug] Python 3.12.0 (CPython AMD64 64bit) - Windows-10-10.0.19045-SP0 (OpenSSL 3.0.11 19 Sep 2023)
[debug] exe versions: ffmpeg 2023-12-04-git-8c117b75af-full_build-www.gyan.dev (setts), ffprobe 2023-12-04-git-8c117b75af-full_build-www.gyan.dev
[debug] Optional libraries: Cryptodome-3.19.0, brotli-1.1.0, certifi-2023.07.22, mutagen-1.47.0, requests-2.31.0, sqlite3-3.42.0, urllib3-2.0.3, websockets-12.0
[debug] Proxy map: {}
[debug] Request Handlers: urllib, requests, websockets
[debug] Extractor Plugins: AGB (YoutubeIE)
[debug] Post-Processor Plugins: BeforeJsonWriteMtimePP, FixupCreationDatePP, FixupGtimePP, FixupMtimePP, JsonWriteMtimePP, ReturnYoutubeDislikePP, UploadDateCtime1PP, UploadDateCtime2PP, UploadDateCtime3PP, YoutubeApiChannelPP, YoutubeApiPlaylistPP, YoutubeApiVideoPP
[debug] Plugin directories: ['C:\\Users\\Owner\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\site-packages\\yt_dlp_plugins']
[debug] Loaded 1798 extractors
[debug] Fetching release info: https://api.github.com/repos/yt-dlp/yt-dlp/releases/latest
Latest version<EMAIL_ADDRESS>from yt-dlp/yt-dlp
yt-dlp is up to date<EMAIL_ADDRESS>from yt-dlp/yt-dlp)
[youtube+AGB] Extracting URL: https://www.youtube.com/watch?v=BJDH36BQ-qo
[youtube+AGB] BJDH36BQ-qo: Downloading webpage
[debug] [youtube+AGB] Extracted SAPISID cookie
[youtube+AGB] BJDH36BQ-qo: Downloading ios player API JSON
[youtube+AGB] BJDH36BQ-qo: Downloading android player API JSON
[youtube+AGB] BJDH36BQ-qo: Downloading m3u8 information
[debug] Sort order given by extractor: quality, res, fps, hdr:12, source, vcodec:vp9.2, channels, acodec, lang, proto
[debug] Formats sorted by: hasvid, ie_pref, quality, res, fps, hdr:12(7), source, vcodec:vp9.2(10), channels, acodec, lang, proto, size, br, asr, vext, aext, hasaud, id
[debug] ReturnYoutubeDislike query: https://returnyoutubedislikeapi.com/votes?videoId=BJDH36BQ-qo
[debug] Default format spec: bestvideo*+bestaudio/best
[info] BJDH36BQ-qo: Downloading 1 format(s): 313+251
[info] Writing '%(.{id,like_count,dislike_count})j' to: Test_dislikes_cookies_age_gate.json

yt-dlp can extract dIZ-e4WwJ5w w/o cookies and w/o the plugin and it returns the correct number of likes. The RYD plugin overrides yt-dlp's like_count with the value returned from the RYD API. So it seems that the problem is entirely with RYD. Closing as out-of-scope


Use TypeScript and Vue Composition API in components

Many of the UI components still use regular JS and the old Vue Options API. These should be converted to use TypeScript and the Vue Composition API (where practical).

Opening this as I have begun converting components as I work on them as part of the DLP redesign.


Changes to address PCX-1570

Adds entries to hostname verification to address https://jira.cfops.it/browse/PCX-1570.

Waiting on latest version of docs engine


SOL User Interface Test

User Interface SOL test and its equivalent development story is at https://github.com/openbmc/openbmc/issues/362

This done as part of the Power on https://github.com/openbmc/openbmc-test-automation/blob/master/tests/test_basic_poweron.robot
But not as a test but more of a log collection.

Closing as per discussion. In future if we want to add a test if needed, we just have to call Start and stop SOL connection using
https://github.com/openbmc/openbmc-test-automation/blob/master/lib/utils.robot#L238
https://github.com/openbmc/openbmc-test-automation/blob/master/lib/utils.robot#L256


$ in IAM policies needs to be escaped as $$ for terraform

I have some IAM policies that contain resources with variables, like the following:
      "Resource": [
        "arn:aws:iam::123456789:mfa/${aws:username}"
      ]

This produces a terraform syntax error:
Error loading config: Error loading Developers.tf: Error reading config for aws_iam_group_policy[Manage-Personal-MFA]: parse error: syntax error

The fix is to escape the policy variable as $$:
"arn:aws:iam::123456789:mfa/${aws:username}"

Update: this still has issues with terraform, which seems not to handle unescaping $${...} correctly in updating the resource. I have started an issue for that here:
https://github.com/hashicorp/terraform/issues/2965


chore(deps): upgrade dependencies

Upgrades project dependencies. See details in workflow run.

Automatically created by projen via the "upgrade-k8s-24-main" workflow

⚪ Backport skipped
The pull request was not backported as there were no branches to backport to. If this is a mistake, please apply the desired version labels or run the backport tool manually.
Manual backport
To create the backport manually run:
backport --pr 904

Questions ?
Please refer to the Backport tool documentation


popup for input element does not show in GAE api spreadsheet

Error:
Uncaught Error: [$compile:tplrt] http://errors.angularjs.org/1.4.0/$compile/tplrt?p0=datetimePickerPopup&p1=

Could you provide a plunker example if possible, so that we can reproduce your error on our end?


Nested needs in content of imported needs

As discussed in https://github.com/useblocks/sphinx-needs/pull/1318#issue-2570995275:
There is a question mark over what it means to import a need with nested need directives in the content;
when the content is parsed it will, currently, process these as if they were normal directives in the project,
which will duplicate the needs (since they will likely already be in the imported need set) and ignore any modification on the needimport, like id_prefix
Essentially, whilst parsing imported need content, should any need (or needimport) directives be ignored?

Tough one, I see different use cases, where a different behavior is needed:
a) Import all needs on root level (also the nested ones) and therefore ignore the ones in the content.
b) Import only the "root" needs on root level (no parent link) and all nested needs re recreated as as normal (no modifications by needimport).
b) is important, if the order and structure need to be saved.
a) if modifications during import are needed.
I guess we needed an option for needimport to let the user decide how the import shall be performed.

I'd say the nested needs are the ones that follow the original structure.
I vote for ignoring all root needs that also appear in the nesting structure.
Nested needs can have a relation to their surroundings, e.g. a text that talks about what is coming below. Then the need is not there. Feels like the wrong solution.
Nesting is a form of modeling, in UML it would be a composition as the child is contained in the parent and users put it there for a reason.
Not sure however what real life projects want here. Configurable import might make sense.


Test other datasets

Hello, thank you for your excellent work. I want to ask you how I want to test other datasets in your project. Which part of the code do I need to modify?

Hello, thank you for your excellent work. I want to ask you how I want to test other datasets in your project. Which part of the code do I need to modify?

Have you tried the experiment of public data set? What's the effect？


Warnings to Errors?

julia> @require Base.Test begin
       foobarbaz()
       end
WARNING: Error requiring Base.Test from Main:
UndefVarError: foobarbaz not defined
 in anonymous at /Users/bromberger1/.julia/v0.4/Requires/src/require.jl:60
 in err at /Users/bromberger1/.julia/v0.4/Requires/src/require.jl:47
 in anonymous at /Users/bromberger1/.julia/v0.4/Requires/src/require.jl:59
 in withpath at /Users/bromberger1/.julia/v0.4/Requires/src/require.jl:37
 in anonymous at /Users/bromberger1/.julia/v0.4/Requires/src/require.jl:58
 in listenmod at /Users/bromberger1/.julia/v0.4/Requires/src/require.jl:21

This is a bit dangerous (and causes tests to succeed when the functions that are being tested have errors). Is there a way to specify "rethrow errors"?

The tricky part is making this consistent. If Foo requires Bar, which module throws an error depends on the order they are loaded, and to my mind it makes less sense for using Bar to throw an error because of a problem with Foo. Basically, any plan to change the current behaviour needs a solid plan to cover all bases.

I'm not sure I understand - in the case above, where we're using @require as a conditional dependency loader, if there's an error in a function within the block it's not thrown. For testing, the error will never be caught since @require will throw a warning instead of an error. The above was a minimal test case, but let me show you how I'm using it:
in test/imports.jl
# if MatrixDepot is available, test somefn()
@require MatrixDepot begin
@test LightGraphs.somefn()
end

somefn() has an error it in, but this code will not cause a testing failure so it can go undetected unless someone's paying attention to warnings.

In that case you should use if isdefined(Main, :MatrixDepot) ... or something similar – you want conditional evaluation, not delayed evaluation.
What @require is doing here is setting up some code if and when MatrixDepot is loaded. So the following sequence of events is possible:
# No error here since MatrixDepot is not loaded
@require MatrixDepot begin
  @test LightGraphs.somefn()
end

using MatrixDepot
# Require block executes, `somefun()` is not defined

If we were to throw an error here, it would indicate that using MatrixDepot has failed, when in fact the error comes from another package.

In that case you should use if isdefined(Main, :MatrixDepot) ... or something similar – you want conditional evaluation, not delayed evaluation.

Unfortunately that won't work if the package you want uses macros... this is why Requires.jl is so cool :)

Fair enough – in that case I think you probably want something bespoke ;) How about something like
if isdefined(Main, :MatrixDepot)
  eval(quote
    using MatrixDepot
    # ....
  end)
end

You could macroify that and it wouldn't be so bad.


Fix inflection 'out of 1 responses'

What
Fix inflection 'out of 1 responses'
Why
When there's exactly 1 response, the text under the user
satisfaction score in the at-a-glance section says
"Users who found the page useful, out of 1 responses". This is ungrammatical
as it should be singular '1 response'.
Screenshots
If applicable add screenshots otherwise remove this section.
Before

After
Coming soon
Trello: https://trello.com/c/vO3DkpTk/1362-2-fix-inflection-out-of-1-responses-in-at-a-glance-user-satisfaction-score

Review Checklist

[ ] Changes in scope.
[ ] Added/updated unit tests.
[ ] Added/updated feature tests.
[ ] Added/updated relevant documentation.
[ ] Added to Trello card.

 (2) Fix inflection "out of 1 responses" in at-a-glance user satisfaction score


upgrade operator sdk

Checklist:

[ ] Have you added an explanation of what your changes do and why you'd like them to be included?
[ ] Have you updated or added documentation for the change, as applicable?
[ ] Have you tested your changes on all related environments with successful results, as applicable?

Type of Changes:

[ ] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)

What is the current behavior? (link to any open issues here)
What is the new behavior (if this is a feature change)?
Other information:

/test k8s

/test all

/test k8s

/test all

/test k8s

/test k8s


Fix issues #322, #336

should fix #336

should fix #322 large titles

now it works with transcluded style ...
https://imgur.com/a/PBbzydg

Hi @StefaniOSApps
thanks for the contribution. This PR is a little messy though, I rather avoid the deletion and reupload of the whole file. Also I'd like some context behind the decision to remove the updateContentInset call, which was there for a reason (it keeps the scrollbar from twitching). I agree it was problematic, but if we decide to remove it I rather do so in a separate PR.

I'll close this for now, if you can create a fresh PR with just that change (also, as suggested by Hound, keep a space after the comma), that'd be great.


Segmentation fault occurs in case when use sim command without top module specification.

Steps to reproduce the issue
test case:
module top
(
 input x,
 input y,
 input cin,

 output reg A,
 output cout
 );
 parameter X = 1;
 wire o;

`ifndef BUG
always @(posedge cin)
	A <= o;

//assign cout =  cin? y : x;

middle u_mid (.x(x),.o(o));
u_rtl inst_u_rtl (.x(x),.o(o));
`else
assign {cout,A} =  cin - y * x;
`endif

endmodule

module middle
(
	input x,
	input y,
	output o
);

assign o = x + y;
endmodule

module u_rtl
(
	input x,
	input y,
	output o
);

assign o = x + y;
endmodule

script:
read_verilog top.v
proc
sim
Expected behavior

Executing SIM pass (simulate the circuit).
Simulating cycle 0.
Simulating cycle 1.
...

Actual behavior

Executing SIM pass (simulate the circuit).
Segmentation fault (core dumped)

I can't reproduce this. I see the following output:
...
3. Executing SIM pass (simulate the circuit).
ERROR: Design has no top module, use the 'hierarchy' command to specify one.

I would guess you are still testing with a version that predates dd134914c.


Fix for TabBarIcon issue when receiving new props

My fix for issue #94. Making updateIconSources() take a props param, which is this.props in componentWillMount() and nextProps in componentWillReceiveProps().

Thanks!

Thank you! Love the project.
On Sunday, January 24, 2016, Joel Arvidsson<EMAIL_ADDRESS>wrote:

Thanks!
—
Reply to this email directly or view it on GitHub
https://github.com/oblador/react-native-vector-icons/pull/97#issuecomment-174259860
.

--
-Brad
Sent from my iPhone

Released in 1.1.0.


Can we specify custom transport parameters?

Hi,
This would be a feature request as I haven't found a way to do this with the library yet. I would like to replicate the way how Google Chrome connects from within go. In wireshark I can see that Chrome sets certain fields like google_version or google_connection_options similar to how its set here in this go project: https://github.com/gaukas/clienthellod/blob/master/quic_transport_parameters_test.go#L55
Is there a way to specify custom QTPIDs here as well somehow? If not, is it planned?
Thanks

Nvm, it seems to be related to the stdlib tls library and unrelated to this project.

QUIC transport parameters are indeed created by quic-go, not by crypto/tls. However, we don't plan to expose any hooks to allow applications to set custom transport parameters, others than the existing testing hooks (which thanks to internal can't be used externally):
https://github.com/quic-go/quic-go/blob/468cea250d71dd135d109177732c175f390319ae/internal/wire/transport_parameters.go#L18-L22


Game crashing when posting certain strings to in-game chat

Any time I post a message in the lobby or in-game containing a Percentage Sign ('%') followed by a single digit integer, the game crashes to the desktop. This was tested with no mods enabled aside from Payday 2 BLT, in order to ensure that BLT was at fault, as well as without BLT installed at all. In the first case, the game crashes when posting messages to chat, while in the second, the message is sent successfully and the game does not crash.
The crash.txt and crashlog.txt (which includes large amounts of data from other crashes) from one of my tests are available for your review.
I am unsure if this is capable of crashing other clients as well, or if it is restricted to the player.
It may be an issue with the game attempting to parse % as the modulo operator.

Update: players who do NOT have BLT can crash players who do by sending messages. This is a serious issue and could be easily used for griefing.

@PenguinOfLight my guess without looking at code is that it's being treated as a format string, or something. Not terribly familiar with the workings of the LUA base for BLT.

It's just being passed to gsub, I don't get why lua searches the subject of replacement for captures.
Also, keep in mind that this is an issue with the BLT Lua, and should probably be over in that repository.

http://lua-users.org/wiki/StringLibraryTutorial
string.gsub(s, pattern, replace) searches any regex "pattern" in s and replace them with new regex "replace".
I think use "string.format" or ".." instead is a option.


Delete "on a spherical Earth" from the definition of the latitude_longitude grid mapping in Appendix F

Title
Delete "on a spherical Earth" from the definition of the latitude_longitude grid mapping in Appendix F
Associated pull request
https://github.com/cf-convention/cf-conventions/pull/409
Detailed Proposal
The title says it all. The reason is that there is no default shape for the Earth in CF (spherical or otherwise). This proposal has been agreed according to the rules for changes in the convention following a question asked by @gerritholl, a new contributor.

Please could someone check and merge https://github.com/cf-convention/cf-conventions/pull/409, which is a simple change agreed in https://github.com/cf-convention/discuss/issues/188. Thanks.

I forgot to update the revision history. Sorry. Now there's another PR to do it.


how to use in sveltekit

How to use it in sveltekit, I want to understand how I can check for browser in order to get the stores data to avoid errors like browser is not defined

If the library can't use a storage, the Svelte store will be used as normal.
It will add a warning in the console (which can be disabled).
The way to tell if you are in browser rendering or server rendering (in a SvelteKit application) is the same as usual: using browser from $app/environment


7 residual blocks for key-frame feature extractor

the paper says that use 7 residual blocks for key-frame feature extractor, but

it seems that only 5 residual blocks were used in the code

@Justarrrrr Sorry for the confusion, it probably should've been 7 layers for key-frame extractor in total.

I apologize for not replying to your email earlier, and I'm pleasantly surprised to receive your response! So, if I understand correctly, the original intention was to have 7 blocks, but the code implementation only includes 5 blocks, is that correct?


Running flutter doctor command keeps throwing "Unhandled exception"

aadils-mbp:flutter aadilmaan$ flutter doctor

Unhandled exception:
NoSuchMethodError: The method 'split' was called on null.

Hi @aadilmaan
are you running the command from an IDE (Android Studio, VS Code) or terminal?
If the former please try running from terminal
flutter upgrade --force
flutter doctor -v

Thank you


[CI/FTL] Oriole to Panther, presubmit false

Alternative to https://github.com/flutter/flutter/pull/130868
Oriole is the Pixel 6, Panther is the Pixel 7. Panther is more available in FTL at this point.
There's less value in running this on presubmit, since those can spawn many jobs multiple times over as people push new commits to branches. Let's just run it post submit to avoid overloading the capacity of FTL.

(This PR is still not merging despite having autosubmit and approvals)

(This PR is still not merging despite having autosubmit and approvals)

F.Y.I. @ricardoamador Could you help take a look at this PR? seems the bot misses it. Is it related to some cocoon version switch around that time? I just removed and re-added the label.

@keyonghan taking a look now.

Wait, this PR is being submitted to main branch, which I don't think is ready. Is that the problem?

Yeah I just saw that. I don't think it should matter as it would be treated as we treat the release branches.
Tree status would not be taken into account.

Hah, whups

Maybe the bot should have warned me not to try to merge into main?

The bot could provide a warning but we allow this for the purposes of the release team.
It looks like something is providing an ignore temporarily status but I have not been able to find it.

I would be surprised if this merged after changing target to master. But if it does that will help give me a clue to where we were hung.

Hmm, are there any branch protections on main? For some reason when the target branch was changed to master I had the ability to squash and merge but with main I did not. I am wondering if this was the same for the bot?

Main appears to have branch protections. I could not manually merge it there, but the button is enabled now that I switched it to master.

Looks like there were some protections in place with main that did not allow the merge. Though I think the bot should have at least logged this. I am going to open an issue to see if we can detect any of this.

Create two issues as a result of Autosubmit refusing to do its job.