"Check failed" with multiple lax.conv_general_dilated, vmap and jit

I have come across the following issue:
F external/org_tensorflow/tensorflow/compiler/xla/service/gpu/gpu_conv_rewriter.cc:543] Check failed: std::abs(input_feature_dimension - output_feature_dimension) == 1LL (3 vs. 1)

In my case, I was trying to implement MAML (very loosely following the notebook available in the docs) for image classification. The issue I am having appears when I use jit (on GPU) on a loss function with multiple convolutions (from lax.conv_general_dilated) and vmap to apply the function to a batch of tasks. Here is a minimal reproducible example of this issue:
import jax
import jax.numpy as jnp

from jax import vmap, lax, random, grad, tree_util
from functools import partial

def loss_fn(params, inputs, targets):
    """Loss function"""
    # Unpack parameters
    params1, params2 = params
    dimension_numbers = lax.ConvDimensionNumbers(
        lhs_spec=(0, 3, 1, 2),  # Channel last
        rhs_spec=(3, 2, 0, 1),
        out_spec=(0, 3, 1, 2)
    )

    # First convolution
    outputs = lax.conv_general_dilated(inputs, params1,
        window_strides=(1, 1), padding='SAME',
        lhs_dilation=None, rhs_dilation=None,
        dimension_numbers=dimension_numbers, feature_group_count=1)

    # Second covolution
    outputs = lax.conv_general_dilated(outputs, params2,
        window_strides=(1, 1), padding='SAME',
        lhs_dilation=None, rhs_dilation=None,
        dimension_numbers=dimension_numbers, feature_group_count=1)

    # MSE loss
    return jnp.mean((outputs - targets) ** 2)

def adaptation(params, inputs, targets):
    """MAML: adaptation with one-step gradient descent"""
    grads = grad(loss_fn)(params, inputs, targets)
    return tree_util.tree_multimap(lambda p, g: p - 0.1 * g, params, grads)

def _outer_loss_fn(params, train_inputs, train_targets, test_inputs, test_targets):
    """Apply outer-loss to a single task"""
    adapted_params = adaptation(params, train_inputs, train_targets)
    return loss_fn(adapted_params, test_inputs, test_targets)

def outer_loss_fn(params, train_inputs, train_targets, test_inputs, test_targets):
    """Outer-loss on a batch of tasks"""
    losses = vmap(partial(_outer_loss_fn, params))(
        train_inputs, train_targets, test_inputs, test_targets)
    return jnp.mean(losses)

step = grad(outer_loss_fn)

# Inputs / targets
# Shape: (task batch size, number of examples per task, height, width, channels)
# The number of examples per task can be different between support / query datasets
train_inputs = jnp.zeros((3, 5, 28, 28, 1))
train_targets = jnp.zeros((3, 5, 28, 28, 32))

test_inputs = jnp.zeros((3, 11, 28, 28, 1))
test_targets = jnp.zeros((3, 11, 28, 28, 32))

# Initialize the parameters
params1 = jnp.zeros((3, 3, 1, 32))
params2 = jnp.zeros((3, 3, 32, 32))
params = (params1, params2)

# Error
jax.jit(step)(params, train_inputs, train_targets, test_inputs, test_targets)
# F external/org_tensorflow/tensorflow/compiler/xla/service/gpu/gpu_conv_rewriter.cc:543]
# Check failed: std::abs(input_feature_dimension - output_feature_dimension) == 1LL (3 vs. 1)

Some cases where there is no error:

If there is no jit

Expand
import jax
import jax.numpy as jnp

from jax import vmap, lax, random, grad, tree_util
from functools import partial

def loss_fn(params, inputs, targets):
    """Loss function"""
    # Unpack parameters
    params1, params2 = params
    dimension_numbers = lax.ConvDimensionNumbers(
        lhs_spec=(0, 3, 1, 2),  # Channel last
        rhs_spec=(3, 2, 0, 1),
        out_spec=(0, 3, 1, 2)
    )

    # First convolution
    outputs = lax.conv_general_dilated(inputs, params1,
        window_strides=(1, 1), padding='SAME',
        lhs_dilation=None, rhs_dilation=None,
        dimension_numbers=dimension_numbers, feature_group_count=1)

    # Second covolution
    outputs = lax.conv_general_dilated(outputs, params2,
        window_strides=(1, 1), padding='SAME',
        lhs_dilation=None, rhs_dilation=None,
        dimension_numbers=dimension_numbers, feature_group_count=1)

    # MSE loss
    return jnp.mean((outputs - targets) ** 2)

def adaptation(params, inputs, targets):
    """MAML: adaptation with one-step gradient descent"""
    grads = grad(loss_fn)(params, inputs, targets)
    return tree_util.tree_multimap(lambda p, g: p - 0.1 * g, params, grads)

def _outer_loss_fn(params, train_inputs, train_targets, test_inputs, test_targets):
    """Apply outer-loss to a single task"""
    adapted_params = adaptation(params, train_inputs, train_targets)
    return loss_fn(adapted_params, test_inputs, test_targets)

def outer_loss_fn(params, train_inputs, train_targets, test_inputs, test_targets):
    """Outer-loss on a batch of tasks"""
    losses = vmap(partial(_outer_loss_fn, params))(
        train_inputs, train_targets, test_inputs, test_targets)
    return jnp.mean(losses)

step = grad(outer_loss_fn)

# Inputs / targets
# Shape: (task batch size, number of examples per task, height, width, channels)
# The number of examples per task can be different between support / query datasets
train_inputs = jnp.zeros((3, 5, 28, 28, 1))
train_targets = jnp.zeros((3, 5, 28, 28, 32))

test_inputs = jnp.zeros((3, 11, 28, 28, 1))
test_targets = jnp.zeros((3, 11, 28, 28, 32))

# Initialize the parameters
params1 = jnp.zeros((3, 3, 1, 32))
params2 = jnp.zeros((3, 3, 32, 32))
params = (params1, params2)

# No Error
step(params, train_inputs, train_targets, test_inputs, test_targets)

If there is only using a single convolution

Expand
import jax
import jax.numpy as jnp

from jax import vmap, lax, random, grad, tree_util
from functools import partial

def loss_fn(params, inputs, targets):
    """Loss function"""
    dimension_numbers = lax.ConvDimensionNumbers(
        lhs_spec=(0, 3, 1, 2),  # Channel last
        rhs_spec=(3, 2, 0, 1),
        out_spec=(0, 3, 1, 2)
    )

    # Second covolution
    outputs = lax.conv_general_dilated(inputs, params,
        window_strides=(1, 1), padding='SAME',
        lhs_dilation=None, rhs_dilation=None,
        dimension_numbers=dimension_numbers, feature_group_count=1)

    # MSE loss
    return jnp.mean((outputs - targets) ** 2)

def adaptation(params, inputs, targets):
    """MAML: adaptation with one-step gradient descent"""
    grads = grad(loss_fn)(params, inputs, targets)
    return tree_util.tree_multimap(lambda p, g: p - 0.1 * g, params, grads)

def _outer_loss_fn(params, train_inputs, train_targets, test_inputs, test_targets):
    """Apply outer-loss to a single task"""
    adapted_params = adaptation(params, train_inputs, train_targets)
    return loss_fn(adapted_params, test_inputs, test_targets)

def outer_loss_fn(params, train_inputs, train_targets, test_inputs, test_targets):
    """Outer-loss on a batch of tasks"""
    losses = vmap(partial(_outer_loss_fn, params))(
        train_inputs, train_targets, test_inputs, test_targets)
    return jnp.mean(losses)

step = grad(outer_loss_fn)

# Inputs / targets
# Shape: (task batch size, number of examples per task, height, width, channels)
# The number of examples per task can be different between support / query datasets
train_inputs = jnp.zeros((3, 5, 28, 28, 1))
train_targets = jnp.zeros((3, 5, 28, 28, 32))

test_inputs = jnp.zeros((3, 11, 28, 28, 1))
test_targets = jnp.zeros((3, 11, 28, 28, 32))

# Initialize the parameters
params = jnp.zeros((3, 3, 1, 32))

# No Error
jax.jit(step)(params, train_inputs, train_targets, test_inputs, test_targets)

If there is no vmap (only applying the outer-loss to a single task)

Expand
import jax
import jax.numpy as jnp

from jax import vmap, lax, random, grad, tree_util
from functools import partial

def loss_fn(params, inputs, targets):
    """Loss function"""
    # Unpack parameters
    params1, params2 = params
    dimension_numbers = lax.ConvDimensionNumbers(
        lhs_spec=(0, 3, 1, 2),  # Channel last
        rhs_spec=(3, 2, 0, 1),
        out_spec=(0, 3, 1, 2)
    )

    # First convolution
    outputs = lax.conv_general_dilated(inputs, params1,
        window_strides=(1, 1), padding='SAME',
        lhs_dilation=None, rhs_dilation=None,
        dimension_numbers=dimension_numbers, feature_group_count=1)

    # Second covolution
    outputs = lax.conv_general_dilated(outputs, params2,
        window_strides=(1, 1), padding='SAME',
        lhs_dilation=None, rhs_dilation=None,
        dimension_numbers=dimension_numbers, feature_group_count=1)

    # MSE loss
    return jnp.mean((outputs - targets) ** 2)

def adaptation(params, inputs, targets):
    """MAML: adaptation with one-step gradient descent"""
    grads = grad(loss_fn)(params, inputs, targets)
    return tree_util.tree_multimap(lambda p, g: p - 0.1 * g, params, grads)

def _outer_loss_fn(params, train_inputs, train_targets, test_inputs, test_targets):
    """Apply outer-loss to a single task"""
    adapted_params = adaptation(params, train_inputs, train_targets)
    return loss_fn(adapted_params, test_inputs, test_targets)

step = grad(_outer_loss_fn)

key = random.PRNGKey(0)

# Inputs / targets
# Shape: (task batch size, number of examples per task, height, width, channels)
# The number of examples per task can be different between support / query datasets
train_inputs = jnp.zeros((3, 5, 28, 28, 1))
train_targets = jnp.zeros((3, 5, 28, 28, 32))

test_inputs = jnp.zeros((3, 11, 28, 28, 1))
test_targets = jnp.zeros((3, 11, 28, 28, 32))

# Initialize the parameters
params1 = jnp.zeros((3, 3, 1, 32))
params2 = jnp.zeros((3, 3, 32, 32))
params = (params1, params2)

# No error
jax.jit(step)(params, train_inputs[0], train_targets[0], test_inputs[0], test_targets[0])

Here are the versions I am using

jax==0.2.6
jaxlib==0.1.56
CUDA version: 10.1
CUDNN version: 7.3

I tried to reproduce this on the HEAD version inside google, and I could not. Then I saw that the assert that fails has been changed in XLA on October 26. I think that this will likely fix your problem. (the jaxlib has last been released on October 14th).
Would you be able to try to check if the bug goes away if you build jaxlib from source?

Thank you! It does work as expected when I build jaxlib from source (on 3e7285b).


Added appendxlsx function

Created appendxlsx function to the xlsx module.

Thank you @victormpa, I will try to review asap.

This looks fine but needs a test.

Closing in favour of #475.


Less verbose auto-update-translator-cid

Fixes #2302.

Example: https://github.com/intel/intel-xpu-backend-for-triton/actions/runs/11491960986/job/31985235759

I wonder if testing all commit ids is really needed; we only need to find the last one which is good enough

Sometimes the latest commit from main does not work for us for different reasons, for example a newer llvm is required, so we need to descend from latest commit to the pinned one to find the good one. Ideally it should be a binary search, but it is out of the scope of this PR.


SPIKE: Investigate East-West Traffic

Describe the issue
There is are at least 2 teams that provide API and logging services and are interested in sending internal traffic to applications in other project sets. This is not currently supported in the ASEA unless we use Central OU accounts but that's too permissive because it's more meant for the CPF team, not an individual team.
Additional context

Ryan J from AWS had some ideas on how we might support this
We think currently there are zero teams using the API services in the AWS ECF
The vanilla SEA design is to isolate traffic and not do East-West
Another solution could be Central OU (we don't like this approach though)
One of the solutions could be North-South talk to the chief come back down
Holepunch via service endpoints for wormhole-like solution

Definition of done

Meet with Ryan J
Document the recommended architecture (if possible)
If there is any action required by our team to help implement the pattern, create a ticket for that
Meet with Jon, Bruce, Julian and discuss

not relevant


SW-6318 Fix the CSS that was hiding the TOC contents

#3405  👈 (View in Graphite)
main

This stack of pull requests is managed by Graphite. Learn more about stacking.


Export/Import a project from one Bolt account to another.

I was hoping Export/Import a project from one Bolt account to another. would have been fairly straight forward and well-documented here. It's not. Here's public URL that I have and need to find the project ids and other relevant info to export to anothe rBOLT project that I have. Please help. Here is the public URL: https://magenta-starship-91f8ea.netlify.app
Here's my email<EMAIL_ADDRESS>

how?bro help me

Fork/upload the Bolt project to GitHub and share it.Cheers,KgSent from my iPhoneOn Nov 8, 2024, at 12:54 PM, tane457 @.***> wrote:
how?bro help me
—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you authored the thread.Message ID: @.***>


How to use imgproxy with https ?

Or how to make it work on https port.
Without https on my imgproxy server all the pages using it works as "unsafe"
Need some advice how to or what I should to to force it to serve as https
Temporarily I decided to deploy it on Heroku, but what url I should use ? with or without port number then ?
What I'm trying is: https://myimgproxy.herokuapp.com/ but I'm getting 404 ....
Ok sorted it. wrong key and salt :)

Wrong key and salt.


Switch to new #BYOCAR API

Currently, mbapipy pretends to be the Mercedes Me app running on Android 6.0 to access Mercedes-Benz APIs (see apicontroller.py#L37), which is not an officially supported way to use the APIs and therefore may stop working at any time. Mercedes-Benz has recently launched their #BYOCAR initiative, allowing users to access select APIs free of charge. Find details here: https://developer.mercedes-benz.com/news/byocar
Let's consider switching to the BYOCAR APIs so as to ensure mbapipy works in future, too.
Disclosure: I'm affiliated with Daimler as indicated in my GitHub profile. However, I am filing this issue in my private interest as I am a user of mbapipy, to which I have contributed in the past (#10). This is in no way related to my work at Daimler.

Hi Daniel,
thanks. I have seen the announcement and started already some tests, as I have asked the MB-Dev team to open the API for private persons since two years.
I plan to start a new version of this component and support the new API (and adopt all the new stuff in HA core). However, my time is limited currently and the vacation season starts soon :-) If someone would like to help - please post a note in the HA-Forum
But, I will keep this version here alive as long as I can. - it offers much more attributes then the BYOC v1.


The application  was crash in the library when  I  use the library update the firmware

the reason is
*** Terminating app due to uncaught exception 'NSRangeException', reason: '*** -[_NSInlineData getBytes:range:]: range {2, 1} exceeds data length 2'
*** First throw call stack:
(0x18de441c0 0x18c87c55c 0x18de44108 0x18e84644c 0x1007259c0 0x1004f1420 0x1004f59cc 0x1004f6a50 0x194a1a364 0x194a1a4c4 0x194a16ef4 0x194a12018 0x194a25f58 0x194a1e70c 0x1008cd25c 0x1008cd21c 0x1008dab54 0x1008d0ce4 0x1008d2060 0x18ddf1f2c 0x18ddefb18 0x18dd1e048 0x18f7a1198 0x193cf7818 0x193cf2550 0x100149644 0x18cd005b8)
libc++abi.dylib: terminating with uncaught exception of type NSException
this is my code :
DFUFirmware *selectedFirmware = [[DFUFirmware alloc] initWithUrlToZipFile:[NSURL fileURLWithPath:filePath] ];
NSLog(@"filename:%@",selectedFirmware.fileName);
if (selectedFirmware.fileName) {
DFUServiceInitiator *initiator = [[DFUServiceInitiator alloc] initWithCentralManager:vc.heartRateCentralManager target:self.per.per];
                            // Optional:
                            initiator.forceDfu = NO; // default NO
                            initiator.packetReceiptNotificationParameter = 12; // default is 12
                            initiator.logger = self; // - to get log info
                            initiator.delegate = self; // - to be informed about current state and errors
                            initiator.progressDelegate = self; // - to show progress bar

//                                initiator.peripheralSelector = ... // the default selector is used
DFUServiceInitiator *initiator1 = [initiator withFirmware:selectedFirmware];
self.dfuServiceController = [initiator1 start];
}

Hello,
Why do you create another copy of initiator? Try like this:
DFUFirmware *selectedFirmware = [[DFUFirmware alloc] initWithUrlToZipFile:[NSURL fileURLWithPath:filePath] ];
NSLog(@"filename:%@",selectedFirmware.fileName);
if (selectedFirmware.fileName) {
   DFUServiceInitiator *initiator = [[DFUServiceInitiator alloc] initWithCentralManager:vc.heartRateCentralManager target:self.per.per];

   // Optional:
   initiator.forceDfu = NO; // default NO
   initiator.packetReceiptNotificationParameter = 12; // default is 12
   initiator.logger = self; // - to get log info
   initiator.delegate = self; // - to be informed about current state and errors
   initiator.progressDelegate = self; // - to show progress bar

   // initiator.peripheralSelector = ... // the default selector is used
   self.dfuServiceController = [[initiator withFirmware:selectedFirmware] start];
}

Also, what version of the DFU library are you using? The current one is 3.0.1.

The version of the DFU library  is 3.0.1.   I follow your approach to do, or the same reason for the error

The crash is located on line 157 in the DFUControlPoint.swift

Why the response you get is 2, not 3, bytes long?
In Legacy dfu it should always contain 0x10-Req-Status, as in the code. In what moment so you get it and what version of dfu do you use (SDK version)?
If you have a custom DFU Bootloader, you would have to modify the lib on your own. But it's not recommended as you will have more work in case of some changes or bug fixing we may do.

I can update firmware sucessfully with the example application from IOS-Pods-DFU-Library. But it didn't work, when I try to update the same firmware to the same device with Object-C. Do you have any example application for Object-C?

It doesn't matter which language you use in your project. The code I posted above is enough.
If your upload crashes at line 157 it means that your peripheral sends 2 byte response, instead of 3. Investigate that. I guess it happens only sometimes and even with the example app.

DFU version is 3.0.1  ,SDK version is nRF5_SDK_11.0.0 .  we use the standard dfu bootloader from Nordic .

What's meaning of the 0x10-Req-Status in the Legacy dfu?
When I launch the dfu application and start download the firmware image, but  the peripheral  receives no message.

I'm not sure if I have transfer the peripheral device info into the duf library correctly?
The  example app  works  fine with the peripheral.

Could you post here logs that you get with logger delegate in your app?

What's meaning of the 0x10-Req-Status in the Legacy dfu?

After a command has been sent to the DFU target (which consist of: [RequestCode-SomeAdditionalBytes] a response is then sent: [ResponseCode=0x10-RequestCode-Status]. All values are 1-byte long so you always should get 3 bytes, not 2. So I would like to see the reason why you receive 2 bytes there.

Hi,philips,
here is the log for my issue. Would you please help me out?
2016-12-22 17:31:32.345 FizzoMark[1494:573686] I: Connected to FIZZO_GJ37
2016-12-22 17:31:32.348 FizzoMark[1494:573686] I: Connected to FIZZO_GJ37
2016-12-22 17:31:32.349 FizzoMark[1494:573686] V: Legacy DFU Service found
2016-12-22 17:31:32.349 FizzoMark[1494:573686] V: Discovering characteristics in DFU Service...
2016-12-22 17:31:32.349 FizzoMark[1494:573686] D: peripheral.discoverCharacteristics(nil, for: 00001530-1212-EFDE-1523-785FEABCD123)
2016-12-22 17:31:32.353 FizzoMark[1494:573686] I: DFU characteristics discovered
2016-12-22 17:31:32.354 FizzoMark[1494:573686] V: Reading DFU Version number...
2016-12-22 17:31:32.354 FizzoMark[1494:573686] D: peripheral.readValue(00001534-1212-EFDE-1523-785FEABCD123)
2016-12-22 17:31:32.386 FizzoMark[1494:573686] I: Read Response received from 00001534-1212-EFDE-1523-785FEABCD123, value (0x): 0100
2016-12-22 17:31:32.386 FizzoMark[1494:573686] A: Version number read: 0.1
2016-12-22 17:31:32.387 FizzoMark[1494:573686] V: Enabling notifications for 00001531-1212-EFDE-1523-785FEABCD123...
2016-12-22 17:31:32.387 FizzoMark[1494:573686] D: peripheral.setNotifyValue(true, for: 00001531-1212-EFDE-1523-785FEABCD123)
2016-12-22 17:31:32.475 FizzoMark[1494:573686] I: Notification received from 2A19, value (0x): 1b
2016-12-22 17:32:02.898 FizzoMark[1494:573686] *** Terminating app due to uncaught exception 'NSRangeException', reason: '*** -[_NSInlineData getBytes:range:]: range {1, 1} exceeds data length 1'
*** First throw call stack:
(0x18651422c 0x1981e00e4 0x18651416c 0x1873484d4 0x1006b0914 0x1003d50c0 0x1003d96c0 0x1003da744 0x186180b3c 0x18617c9d4 0x1008b4fd4 0x1008b4f94 0x1008bfdb8 0x1008b82c4 0x1008b96f4 0x1864cb544 0x1864c95ec 0x1863f4f74 0x18fe4f6fc 0x18aff6d94 0x1000e92cc 0x19888aa08)
libc++abi.dylib: terminating with uncaught exception of type NSException

Hi, thanks for the log!
As you see, the crash is caused by a notification that should completely be ignored as it comes from Battery Level characteristic (UUID: 2A19), nothing related to DFU.
I did not expect other notifications to be sent during DFU, but as the library works with already connected devices, or with bonded devices that might have CCCD enabled before - why not.
I will fix your issue right away and publish version 3.0.2. Please, give me an hour.

Fixed in 3.0.3 (actually in 3.02, but I made 3.0.3 moment later with licence fix).

It Works!!! Thanks!


Audit-scanner is not skipping namespaces

With the current helm-charts from main, which deploy the following Cronjob:
apiVersion: batch/v1
kind: CronJob
metadata:
  annotations:
    meta.helm.sh/release-name: kubewarden-controller
    meta.helm.sh/release-namespace: kubewarden
  creationTimestamp: "2023-07-14T14:07:26Z"
  generation: 1
  labels:
    app.kubernetes.io/component: controller
    app.kubernetes.io/instance: kubewarden-controller
    app.kubernetes.io/managed-by: Helm
    app.kubernetes.io/name: kubewarden-controller
    app.kubernetes.io/part-of: kubewarden
    app.kubernetes.io/version: v1.7.0-rc1
    helm.sh/chart: kubewarden-controller-1.6.0-rc1
  name: audit-scanner
  namespace: kubewarden
  resourceVersion: "6174"
  uid: b260ecb1-ad00-437d-b97e-e0b75d869af4
spec:
  concurrencyPolicy: Forbid
  failedJobsHistoryLimit: 5
  jobTemplate:
    metadata:
      creationTimestamp: null
    spec:
      template:
        metadata:
          creationTimestamp: null
        spec:
          containers:
          - command:
            - /audit-scanner
            - --loglevel
            - info
            - -i calico-system
            - -i cattle-alerting
            - -i cattle-fleet-local-system
            - -i cattle-fleet-system
            - -i cattle-global-data
            - -i cattle-global-nt
            - -i cattle-impersonation-system
            - -i cattle-istio
            - -i cattle-logging
            - -i cattle-monitoring-system
            - -i cattle-neuvector-system
            - -i cattle-pipeline
            - -i cattle-prometheus
            - -i cattle-system
            - -i cert-manager
            - -i ingress-nginx
            - -i kube-node-lease
            - -i kube-public
            - -i kube-system
            - -i longhorn-system
            - -i rancher-operator-system
            - -i security-scan
            - -i tigera-operator
            image: ghcr.io/kubewarden/audit-scanner:v1.7.0-rc1
            imagePullPolicy: IfNotPresent
            name: audit-scanner
            resources:
              limits:
                cpu: 500m
                memory: 50Mi
              requests:
                cpu: 250m
                memory: 50Mi
            securityContext:
              allowPrivilegeEscalation: false
            terminationMessagePath: /dev/termination-log
            terminationMessagePolicy: File
          dnsPolicy: ClusterFirst
          restartPolicy: Never
          schedulerName: default-scheduler
          securityContext:
            runAsNonRoot: true
          serviceAccount: audit-scanner
          serviceAccountName: audit-scanner
          terminationGracePeriodSeconds: 30
  schedule: '*/3 * * * *'
  successfulJobsHistoryLimit: 3
  suspend: false
status:
  lastScheduleTime: "2023-07-14T14:57:00Z"
  lastSuccessfulTime: "2023-07-14T14:57:05Z"

The audit-scanner is still scanning namespaces such as cert-manager, kube-system, etc:
audit-scanner-28155777-s5flm {"level":"info","time":"2023-07-14T14:57:01Z","message":"cluster wide scan started"}
audit-scanner-28155777-s5flm {"level":"info","time":"2023-07-14T14:57:01Z","message":"scan finished"}
audit-scanner-28155777-s5flm {"level":"info","dict":{"report name":"polr-clusterwide","report ns":"","summary":"{\"pass\":0,\"fail\":0,\"warn\":0,\"error\":0,\"skip\":0}"},"time":"2023-07-14T14:57:01Z","message":"updated ClusterPolicyReport"}
audit-scanner-28155777-s5flm {"level":"info","time":"2023-07-14T14:57:01Z","message":"all-namespaces scan started"}
audit-scanner-28155777-s5flm {"level":"info","namespace":"cert-manager","time":"2023-07-14T14:57:01Z","message":"namespace scan started"}
audit-scanner-28155777-s5flm {"level":"info","namespace":"cert-manager","dict":{"policies to evaluate":0,"policies skipped":0},"time":"2023-07-14T14:57:01Z","message":"policy count"}
audit-scanner-28155777-s5flm {"level":"error","error":"resource not found","namespace":"cert-manager","time":"2023-07-14T14:57:01Z","message":"error getting previous PolicyReport from store"}
audit-scanner-28155777-s5flm {"level":"info","namespace":"cert-manager","time":"2023-07-14T14:57:01Z","message":"namespace scan finished"}
audit-scanner-28155777-s5flm {"level":"info","namespace":"default","time":"2023-07-14T14:57:01Z","message":"namespace scan started"}
audit-scanner-28155777-s5flm {"level":"info","namespace":"default","dict":{"policies to evaluate":6,"policies skipped":0},"time":"2023-07-14T14:57:01Z","message":"policy count"}
audit-scanner-28155777-s5flm {"level":"info","dict":{"report name":"polr-ns-default","report ns":"default","report resourceVersion":"3280","summary":"{\"pass\":5,\"fail\":1,\"warn\":0,\"error\":0,\"skip\":0}"},"time":"2023-07-14T14:57:01Z","message":"updated PolicyReport"}
audit-scanner-28155777-s5flm {"level":"info","namespace":"default","time":"2023-07-14T14:57:01Z","message":"namespace scan finished"}
audit-scanner-28155777-s5flm {"level":"info","namespace":"kube-node-lease","time":"2023-07-14T14:57:01Z","message":"namespace scan started"}
audit-scanner-28155777-s5flm {"level":"info","namespace":"kube-node-lease","dict":{"policies to evaluate":0,"policies skipped":0},"time":"2023-07-14T14:57:01Z","message":"policy count"}
audit-scanner-28155777-s5flm {"level":"error","error":"resource not found","namespace":"kube-node-lease","time":"2023-07-14T14:57:01Z","message":"error getting previous PolicyReport from store"}
audit-scanner-28155777-s5flm {"level":"info","namespace":"kube-node-lease","time":"2023-07-14T14:57:01Z","message":"namespace scan finished"}
audit-scanner-28155777-s5flm {"level":"info","namespace":"kube-public","time":"2023-07-14T14:57:01Z","message":"namespace scan started"}
audit-scanner-28155777-s5flm {"level":"info","namespace":"kube-public","dict":{"policies to evaluate":0,"policies skipped":0},"time":"2023-07-14T14:57:01Z","message":"policy count"}
audit-scanner-28155777-s5flm {"level":"error","error":"resource not found","namespace":"kube-public","time":"2023-07-14T14:57:01Z","message":"error getting previous PolicyReport from store"}
audit-scanner-28155777-s5flm {"level":"info","namespace":"kube-public","time":"2023-07-14T14:57:01Z","message":"namespace scan finished"}
audit-scanner-28155777-s5flm {"level":"info","namespace":"kube-system","time":"2023-07-14T14:57:01Z","message":"namespace scan started"}
audit-scanner-28155777-s5flm {"level":"info","namespace":"kube-system","dict":{"policies to evaluate":0,"policies skipped":0},"time":"2023-07-14T14:57:01Z","message":"policy count"}
audit-scanner-28155777-s5flm {"level":"error","error":"resource not found","namespace":"kube-system","time":"2023-07-14T14:57:01Z","message":"error getting previous PolicyReport from store"}
audit-scanner-28155777-s5flm {"level":"info","namespace":"kube-system","time":"2023-07-14T14:57:01Z","message":"namespace scan finished"}
audit-scanner-28155777-s5flm {"level":"info","namespace":"policy-reporter","time":"2023-07-14T14:57:01Z","message":"namespace scan started"}
audit-scanner-28155777-s5flm {"level":"info","namespace":"policy-reporter","dict":{"policies to evaluate":6,"policies skipped":0},"time":"2023-07-14T14:57:01Z","message":"policy count"}
audit-scanner-28155777-s5flm {"level":"info","dict":{"report name":"polr-ns-policy-reporter","report ns":"policy-reporter","report resourceVersion":"6155","summary":"{\"pass\":12,\"fail\":0,\"warn\":0,\"error\":0,\"skip\":0}"},"time":"2023-07-14T14:57:02Z","message":"updated PolicyReport"}
audit-scanner-28155777-s5flm {"level":"info","dict":{"report name":"polr-ns-policy-reporter","report ns":"policy-reporter","report resourceVersion":"6156","summary":"{\"pass\":18,\"fail\":0,\"warn\":0,\"error\":0,\"skip\":0}"},"time":"2023-07-14T14:57:02Z","message":"updated PolicyReport"}
audit-scanner-28155777-s5flm {"level":"info","dict":{"report name":"polr-ns-policy-reporter","report ns":"policy-reporter","report resourceVersion":"6158","summary":"{\"pass\":24,\"fail\":0,\"warn\":0,\"error\":0,\"skip\":0}"},"time":"2023-07-14T14:57:02Z","message":"updated PolicyReport"}
audit-scanner-28155777-s5flm {"level":"info","namespace":"policy-reporter","time":"2023-07-14T14:57:02Z","message":"namespace scan finished"}
audit-scanner-28155777-s5flm {"level":"info","time":"2023-07-14T14:57:02Z","message":"all-namespaces scan finished"}

The fix for this is:


delay accumilates when run in android device

Delay accumulation over time when run in android device. Straightly followed steps given in the example section.

Same here, in my case audio accumulates and are all played at the same time (like an echo)

Fixed with modifying ffmpeg parameters.

@byeze do you recall the parameters that you changed?  I am having the same issue with the video accumulating.

@byeze do you recall the parameters that you changed? I am having the same issue with the video accumulating.

Sure! This command I tried & It worked, let me know if your problem was fixed:
ffmpeg -vn -re -i "<<LOCAL VIDEO URI>>" -preset ultrafast -b:v 128k -f mpegts -codec:v mpeg1video -muxdelay 1 http://localhost:8081/supersecret

Which of these options do you think prevents accumulating video delay? I tried adding the -vn option, but this just causes the video output to be blank white screen (audio passes through still)

Which of these options do you think prevents accumulating video delay? I tried adding the -vn option, but this just causes the video output to be blank white screen (audio passes through still)

Those options fixed my issue! I don't know how you are implementing them.


youtube-dl not working when running syncplay with iina or mpv

URL's aren't working when running syncplay with iina or mpv.

Failed to recognize file format.

However, URL's on both players work fine when outside syncplay. Tested with random youtube links.
OS - Big Sur 11.1 on M1
Syncplay: 1.6.7
youtube-dl: 2021.1.16
mpv: 0.33.0 // iina: 1.1.2 build 128

Not being a Mac users I can't provide much support. I know on some platforms an issue can (or used to) occur if you open a file with Syncplay because that changes the PATH (base location) and so it looks for YTDL in the wrong place.
How are you running Syncplay?

Not being a Mac users I can't provide much support. I know on some platforms an issue can (or used to) occur if you open a file with Syncplay because that changes the PATH (base location) and so it looks for YTDL in the wrong place.
How are you running Syncplay?

As a workaround you might be able to put something along the files of the following in mpv.conf (with the path being the relevant path to youtube-dl):
script-opts=ytdl_hook-ytdl_path="/insert/path/here"
If that works then let me know what worked.

As a workaround you might be able to put something along the files of the following in mpv.conf (with the path being the relevant path to youtube-dl):
script-opts=ytdl_hook-ytdl_path="/insert/path/here"
If that works then let me know what worked.

Tried adding the path in mpv.conf, didn't work unfortunately.
I run Syncplay by opening it from Applications? I installed it via Homebrew (though it's the same downloading the dmg).

Tried adding the path in mpv.conf, didn't work unfortunately.
I run Syncplay by opening it from Applications? I installed it via Homebrew (though it's the same downloading the dmg).

My gut says we are witnessing https://github.com/Syncplay/syncplay/commit/c07206c18992c1dca401b30a01b9f0fe54a71df5 on steroids, a.k.a. we are mixing two Python interpreters compiled for two architectures (x86_64 in the Syncplay app and aarch64 in the system provided one used by youtube-dl).
How did you install youtube-dl? Do you use the version of Homebrew for x86_64 or for aarch64? Additionally, if you could open Terminal, run this command:

and report the result here, you could definitely help us.
(what does that do, you might ask? It finds youtube-dl in your system, asks which interpreter it uses to run, asks the same interpreter which architecture was compiled for.

My gut says we are witnessing https://github.com/Syncplay/syncplay/commit/c07206c18992c1dca401b30a01b9f0fe54a71df5 on steroids, a.k.a. we are mixing two Python interpreters compiled for two architectures (x86_64 in the Syncplay app and aarch64 in the system provided one used by youtube-dl).
How did you install youtube-dl? Do you use the version of Homebrew for x86_64 or for aarch64? Additionally, if you could open Terminal, run this command:

and report the result here, you could definitely help us.
(what does that do, you might ask? It finds youtube-dl in your system, asks which interpreter it uses to run, asks the same interpreter which architecture was compiled for.

Oh, I get it. I run Homebrew natively, so in terminal for youtube-dl I got:
macOS-11.1-arm64-arm-64bit
I guess I'll need an x86_64 version for Syncplay? In case it's relevant, my mpv is arm, while iina is still Intel

Oh, I get it. I run Homebrew natively, so in terminal for youtube-dl I got:
macOS-11.1-arm64-arm-64bit
I guess I'll need an x86_64 version for Syncplay? In case it's relevant, my mpv is arm, while iina is still Intel

You would actually need an arm64 version of Syncplay, but... there is none 😦 (see #368)
I guess we now need to think about how we can try to solve/mitigate this on our side. Thanks for reporting this and for your help.

You would actually need an arm64 version of Syncplay, but... there is none 😦 (see #368)
I guess we now need to think about how we can try to solve/mitigate this on our side. Thanks for reporting this and for your help.

So, after a detailed investigation it seem that the CPU architecture might have nothing to do with this. I attempted a fix and pushed it on this repository, you can find the updated prerelease dmg in the action artifacts here: "direct" download (if that does not work, go to the job page and scroll down to find the artifacts, including the dmg).
@cordelac We would really appreciate if you could download this dmg, test it on your system, and report here the results. For the moment, youtube-dl should work with mpv but not with IINA, as for me IINA does not work with YouTube URLs even when running without Syncplay attached. Thanks for your time.
Side note: you might have to right click the executable twice before getting the Open button in the dialog... thanks, Apple.

So, after a detailed investigation it seem that the CPU architecture might have nothing to do with this. I attempted a fix and pushed it on this repository, you can find the updated prerelease dmg in the action artifacts here: "direct" download (if that does not work, go to the job page and scroll down to find the artifacts, including the dmg).
@cordelac We would really appreciate if you could download this dmg, test it on your system, and report here the results. For the moment, youtube-dl should work with mpv but not with IINA, as for me IINA does not work with YouTube URLs even when running without Syncplay attached. Thanks for your time.
Side note: you might have to right click the executable twice before getting the Open button in the dialog... thanks, Apple.

Just tested on the linked 1.6.8, not working unfortunately. Still getting
Failed to recognize file format.
Appears to be acting as the same as it does in 1.6.7. If I can be of any further help, let me know

Just tested on the linked 1.6.8, not working unfortunately. Still getting
Failed to recognize file format.
Appears to be acting as the same as it does in 1.6.7. If I can be of any further help, let me know

Ok, it might be that there were more errors on top of each other... Since we are here, could you help us by retrieving a debug log from your system with the prerelease version that you just downloaded?
Here is how you can do so:

Open a Terminal and cd to the location of the prerelease Syncplay.app you downloaded earlier
Open Syncplay in debug mode and send the logs to the Desktop:

./Syncplay.app/Contents/MacOS/Syncplay --debug &> ~/Desktop/syncplay_debug.log

With Syncplay opened, try to play a video from YouTube as before. This should show in the GUI the same error from before.
After the error, quit Syncplay.
Send here the log file that should have appeared on your Desktop (or, if you prefer, just paste here all the player lines before player << youtube-dl failed: unexpected error occurred.

Thanks again for your help!

Ok, it might be that there were more errors on top of each other... Since we are here, could you help us by retrieving a debug log from your system with the prerelease version that you just downloaded?
Here is how you can do so:

Open a Terminal and cd to the location of the prerelease Syncplay.app you downloaded earlier
Open Syncplay in debug mode and send the logs to the Desktop:

./Syncplay.app/Contents/MacOS/Syncplay --debug &> ~/Desktop/syncplay_debug.log

With Syncplay opened, try to play a video from YouTube as before. This should show in the GUI the same error from before.
After the error, quit Syncplay.
Send here the log file that should have appeared on your Desktop (or, if you prefer, just paste here all the player lines before player << youtube-dl failed: unexpected error occurred.

Thanks again for your help!

Okay, followed your instructions and got this:
[18:32:17] player << Python path configuration:
[18:32:17] player << PYTHONHOME = '/Applications/Syncplay.app/Contents/Resources'
[18:32:17] player << PYTHONPATH = '/Applications/Syncplay.app/Contents/Resources'
[18:32:17] player << program name = '/opt/homebrew/Cellar/youtube-dl/2021.1.16/libexec/bin/python3.9'
[18:32:17] player << isolated = 0
[18:32:17] player << environment = 1
[18:32:17] player << user site = 1
[18:32:17] player << import site = 1
[18:32:17] player << sys._base_executable = '/opt/homebrew/Cellar/youtube-dl/2021.1.16/libexec/bin/python3.9'
[18:32:17] player << sys.base_prefix = '/Applications/Syncplay.app/Contents/Resources'
[18:32:17] player << sys.base_exec_prefix = '/Applications/Syncplay.app/Contents/Resources'
[18:32:17] player << sys.platlibdir = 'lib'
[18:32:17] player << sys.executable = '/opt/homebrew/Cellar/youtube-dl/2021.1.16/libexec/bin/python3.9'
[18:32:17] player << sys.prefix = '/Applications/Syncplay.app/Contents/Resources'
[18:32:17] player << sys.exec_prefix = '/Applications/Syncplay.app/Contents/Resources'
[18:32:17] player << sys.path = [
[18:32:17] player << '/Applications/Syncplay.app/Contents/Resources',
[18:32:17] player << '/Applications/Syncplay.app/Contents/Resources/lib/python39.zip',
[18:32:17] player << '/Applications/Syncplay.app/Contents/Resources/lib/python3.9',
[18:32:17] player << '/Applications/Syncplay.app/Contents/Resources/lib/python3.9/lib-dynload',
[18:32:17] player << ]
[18:32:17] player << Fatal Python error: init_fs_encoding: failed to get the Python codec of the filesystem encoding
[18:32:17] player << Python runtime state: core initialized
[18:32:17] player << ModuleNotFoundError: No module named 'encodings'
[18:32:17] player << Current thread 0x000000010461bd40 (most recent call first):
[18:32:17] player << <no Python frame>
[18:32:17] player << youtube-dl failed: unexpected error occurred

I forgot that Homebrew on ARM has a different default prefix... Just to confirm, could you post here the result of which youtube-dl?. (I expect /opt/homebrew/bin/youtube-dl.)
Assuming that I got this right, I prepared another test build for you: direct download | build.
Could you download the updated DMG from here and try again? If it still fails, I would also appreciate the updated debug log taken as described before. Thank you again!

I forgot that Homebrew on ARM has a different default prefix... Just to confirm, could you post here the result of which youtube-dl?. (I expect /opt/homebrew/bin/youtube-dl.)
Assuming that I got this right, I prepared another test build for you: direct download | build.
Could you download the updated DMG from here and try again? If it still fails, I would also appreciate the updated debug log taken as described before. Thank you again!

The result is /opt/homebrew/bin/youtube-dl,
and the latest version you prepared is working! Tested on iina (Intel) just in case, and it's also working great, thanks!

The result is /opt/homebrew/bin/youtube-dl,
and the latest version you prepared is working! Tested on iina (Intel) just in case, and it's also working great, thanks!

@albertosottile @cordelac Sadly the build link has been expired. Is there a binary for Apple Silicon M1 available somewhere else?

@tristan-k The binary posted here was never an Apple Silicon binary, but merely a fix for youtube-dl. You can find a (very) preliminary universal2 binary here: https://github.com/Syncplay/syncplay/issues/368#issuecomment-1214247112


Follow-up REUSE specifications

Hi
I'm Lina Ceballos from the Free Software Foundation Europe, and the REUSE Booster program. As promised, here it's a cleaner and more updated merge request which suggests the REUSE specifications that make licensing and copyright information unambiguous and perfectly human- and machine-readable ^0. This MR is a follow-up from the one I closed some weeks ago.
Some important notes in this regard:

Following our discussion I didn't include the year in the headers, as well as they should all be uniform now.
I kept insignificant files such as .gitignore under MIT, in line with our earlier discussion, and documentation files are now under CC-BY-4.0.
I have also created a dep5 file in the .reuse folder that includes patch and conf files, keeping in mind that creating a separate .license file for each of them is not ideal. However, if you prefer to proceed with the latter, please feel free to do so.

There are still some files that I didn't touch:
The imagine files img/LF_17_02_Yocto-Badge-Update_Compatible_Final_Blank.png and img/balena.png, since I don't know who the copyright holder is and under what license they are. Please feel free to add this information by creating a .license file for those two image files.
For the files:
recipes-bsp/bootfiles/rpi-bootfiles.bb
recipes-graphics/vc-graphics/vc-graphics.inc
Keeping in mind that they have a special license situation,  my suggestions here remain as follows:
You can keep the license MIT for those files since they are licensed under MIT although the components they build are under the custom license: Broadcom-RPi license.
In this regard, I noticed that the text of the custom license makes it a proprietary license. This apart, to be more precise:
"This software may only be used for the purposes of developing for, running, or using a Raspberry Pi device."
The custom license still has to be part of the LICENSE directory, you can add it following these steps, but in this case, I would suggest you make sure to clarify in the README file the context where this license is used and applied and that it refers to the binary component involved in booting Raspberry Pi devices. Something like "The custom proprietary license in the LICENSES directory is part of the build system functionality and refers to closed source components involved in running or using a Raspberry Pi device"
The copyright tag in the text file of this custom license itself refers only to the license text, so no other action is required.
Please bear in mind that this is meant to be a practical example of how the REUSE specifications would look like, feel free to implement them or some, but also feel free to proceed to do so on your own.
I would like to note that while reaching REUSE compliance is a larger one-time chunk, maintaining this status is fairly simple: inclusion in CI pipelines, pre-commit hooks, badges, you-name-it, everything possible ^1.
Please also note that REUSE is an established practice with a lot of organisations using it, among them the KDE community, curl, GNUHealth (in progress), Linux kernel, companies such as Siemens, SAP, and LGE, as well as numerous smaller and larger projects. We would be happy to have you on board as well!
If there is something we can help with, feel free to reach out, we are more than happy to help!

Hi @agherzan!
Uff what a journey, I have to say :)
I'm not a git expert that's why I took a while to work on the changes you have requested. I think they are all addressed and solved. (Hope so)

I dropped the dep5 file, as you requested. FYI, we are currently working on changing this dep5 file for a yml file (still work in progress) which might make things way more clear, because I understand your position on this "umbrella" approach. So hopefully, we can bring this up in the coming months again with a new format :)
I renamed the commits and signed them off.
And I have dropped those two headers that you requested and changed the license for those two doc files.
Hope this looks better, so if it does and of course up to you, feel free to merge this request.
Once again, let me know if you have any questions or input now or in the near future. We will be very happy to keep supporting your project in becoming REUSE compliant.

All the best,
Lina

This needs more work because the changes include git conflict marker that would break the layers.


PHP 5.6 does not work with SS4 upgade.

Currently, PHP 5.6 is getting an exception in Travis and gets a hard white screen in my manual testing of the confirmation.
Travis:
https://travis-ci.org/symbiote/silverstripe-memberprofiles/jobs/373767590
7.01s$ vendor/bin/phpunit
PHPUnit 5.7.27 by Sebastian Bergmann and contributors.
PHP Parse error:  syntax error, unexpected 'ader' (T_STRING) in /home/travis/build/symbiote/silverstripe-memberprofiles/vendor/silverstripe/framework/tests/php/Core/Manifest/ConfigManifestTest.php on line 22
Parse error: syntax error, unexpected 'ader' (T_STRING) in /home/travis/build/symbiote/silverstripe-memberprofiles/vendor/silverstripe/framework/tests/php/Core/Manifest/ConfigManifestTest.php on line 22
The command "vendor/bin/phpunit" exited with 255.

This module is currently listed as PHP >=7.0.0 (I assume due to this issue), so this no longer looks to be a problem. PHP 5.6 is EOL later this year, however if somebody is depending on PHP 5.6 for this, please do let us know and/or put through a PR. It may only be a few simple changes to get it working!


Lower the log level

Hi,
I have a lots of "info" messages in the node red log, but I think these messages are more like debug ones.
Could you lower the level?
Thanks

No answer, no support, not using anymore, closing...


Closing Tabs and Access to DOM ?

First of all, thanks for the suggestion in #132 and I used switchToNewTab option with success in wip-v3.
I am stuck on two things:

How do I close the newly opened tab? How to call the window.close() ?  (The newly opened window has no close button so I cannot call .click(btnClose) )

How do I access the DOM similar to casperjs, like this.evaluate( and here document.queryselector) and so on?

Thanks a lot

You can't. Never thought of that, but there is no method for it. @awlayton maybe we could add that to v3?
After you switchToNewTab, that becomes you "working" tab. You can then use the .evaluate method and the target will be that new tab.

Thanks for the quick reply,
inside  .evaluate can I do  window.close() ? And yes, if you could add the new window/tab close functionality in v3 that would be great!
I hope I can do this in .evaluate, right?
document.querySelector('input[name="login_button"]').click();

As an example, if I visit a blog post and wanted to share it,
I click a button and a new twitter window opens up. I send the tweet.
Then I close the window close icon.
To do this in code, I think I have to use the window.close() method.
Or maybe, a new tab close method in horseman!
I do not have much idea about the tab closing behavior which needs to be implemented in code, though I feel renumbering the tabs may be a good idea.

To add to this, I have noticed:
Inside the new popup window, there's a close button, so
.click('input[id="btn-close"]')
.wait(5000)
.switchToTab(0)
.tabCount()
.log()
It closes the popup window, switches to the main page, but as you mentioned, tabcount() is still 2, even though the popup window is closed.

Yes, it should be relatively simple to fix that.
I think I am leaning towards having .openTab resolve to some sort of tab ID that could be given to .switchToTab, but still leaving support for indexing the array of tabs. When a tab is closed, the things would shift in the array, but the tab ID things would be the same for each tab.
Thoughts?

I just made another beta release @LuckyLillia. Tabs now go away when their corresponding page closes, and there is now a .closeTab() action. It would be great if you could try it out.
I have not yet added the tab ids I talked about, which is why I did not close this issue yet.

I think I'll close this. If anyone else really wants the tab ids I'll reconsider.


Motion detection + Night Exposure Mode = False motion

False motion recordings are happening when exposure mode is set to Night and motion detection is on.
It appears that as the camera is increasing exposure (brightening in Night mode), it triggers motion detection, which then appears to remove the Night mode, which causes the image to darken.
It will continue to go in this cycle all night. Any way around this?

I think that it's the same problem: https://github.com/silvanmelchior/RPi_Cam_Web_Interface/issues/223
It happens with all exposure modes and white balance options.


Group all metrics endpoints under a /metrics root

Replace /p2pk and /contracts with /metrics/addresses. Endpoints should take an optional typequery parameter with a valuep2pkorcontract` to filter addresses accordingly.

Replace /utxos with /metrics/utxos/count.

The current /p2pk and /contracts have query parameters that won't be supported by the /metrics api (can't filter on random balance and obtain historical data at the same time). So will keep those two out of /metrics for now. /metrics/addresses will provided the equivalent for historical data with set balance thresholds.
p2pk and /contracts could be brought together under a /live root or something (/unspent ?).


Do a review of the Obligations for each field

This chart https://opengeometadata.org/docs/ogm-aardvark shows which fields are Required, Recommended, Optional, or Conditional. We should perform a review of those fields, especially in light of recent discussions of the Publisher field (#18) and the importance of spatial extent.
We might want to reconsider how to indicate which fields are required for the interface to work and which ones we think are needed to make the record useful.

Determine what is required for GBL to actually function ("minimal record"), and what are suggested for GBL community standards.

see https://github.com/OpenGeoMetadata/metadata-issues/issues/49 - @karenmajewicz confirmed that only ID and Access Rights are required.
We should update the requirements on https://opengeometadata.org/ogm-aardvark/ and subpages

Just saw the "metadata scoring rubric" (appendix A) in Battista et al. 2018 (https://doi.org/10.31229/osf.io/kp5r6). Perhaps a helpful resource?

related issue: https://github.com/OpenGeoMetadata/metadata-issues/issues/47

This is a relevant part of the GBL documentation that has details on how each field functions in GBL: https://geoblacklight.org/docs/metadata/#metadata-functionality-in-geoblacklight-4x


Getting STATUS_INVALID_PARAMETER with IRP_MJ_READ

The documentation indicates STATUS_INVALID_PARAMETER will be returned if FltLockUserBuffer is called on IRPs other than those listed above.  However, I am getting that results from IRP_MJ_READ on Windows Server 2019, so apparently there are other cases as well.  It would be nice to know what those cases are (i.e. why it is happening).

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

ID: eedb269e-54b6-4a9f-0879-58c159f9f598
Version Independent ID: 023ca106-8610-4721-c468-056a77868b6d
Content: FltLockUserBuffer function (fltkernel.h) - Windows drivers
Content Source: wdk-ddi-src/content/fltkernel/nf-fltkernel-fltlockuserbuffer.md
Product: windows-hardware
Technology: wdk-api-reference
GitHub Login: @lorihollasch
Microsoft Alias: loriwhip

Thanks for reporting this issue, @poweradminllc! There is indeed a special case where INVALID_PARAM is returned for READ and WRITE IRPs that have IRP_MN_MDL. I've updated the page to note this special case and included an explanation for it.


Michael lee

"https://community.atlassian.com/tnckb94959/rss/"
https://community.atlassian.com/t5/tag/community-release-notes/tg-p/tag-id/15951#:~:text=https%3A//community.atlassian.com/tnckb94959/rss/

Stop watching


test

Description
What problem are you trying to solve?
How important is this feature to you?

Please vote on this issue by adding a 👍 reaction to the original issue to help the community and maintainers prioritize this request
Please do not leave "+1" or "me too" comments, they generate extra noise for issue followers and do not help prioritize the request
If you are interested in working on this issue or have submitted a pull request, please leave a comment

/triage accept

/triage accepted

/triage rejected

/close


Testing - new file

Preparing answer...

I'll close this PR, LMK if you wanted to contribute a change

(not an actual pull request)


Comparing two dynamicpb.NewMessage from two different protoregistry.Files

Hello 👋
I"m trying to build a dynamic protoregistry.Files registry that we can dynamically parse and use .proto during runtime.
I would like to write a test to confirms that objects created with these two registries are equal but I"m running into some trouble. My hypothesis is that its due to different object addresses or something like that because the content of these MessageDescriptors and the actual messages seem to be the same in every other aspect.
The test is constructed as follows:
Assuming I have 2 copies of protoregistry.Files deployed on two services I"m able to parse the same exact .proto file and get a MessageDescriptor for the message in that file, inspect it has the proper fields etc, create a new objects and have these objects be equal
CustomProtoRegistry struct {
        version string
	fileRegistry *protoregistry.Files
}

func NewRegistryWithVersion(v string) *CustomProtoRegistry {
	files := new(protoregistry.Files)
	return &CustomProtoRegistry{
		version:       version,
		fileRegistry:  files,
	}
}

func (spr * CustomProtoRegistry) DynamicMessageDescriptorByName(fullName pref.FullName) (protoreflect.MessageDescriptor, error) {
	if d, err := spr.fileRegistry.FindDescriptorByName(fullName); err != nil {
		return nil, err
	} else if msgDesc, ok := d.(pref.MessageDescriptor); !ok {
		return nil, fmt.Errorf("failed to find MessageDescriptor named: %s", fullName)
	} else {
		return msgDesc, nil
	}
}

registryA := NewRegistryWithVersion("AAAA")
registryA.RegisterProtoFile("demo.proto")
var msgDescA protoreflect.MessageDescriptor = registryA.DynamicMessageDescriptorByName("full.package.name")
msgTypeA := dynamicpb.NewMessageType(msgDescA)
msgA := dynamicpb.NewMessage(msgDescA)
// msgA.SetFields(...) and set values

registryB := NewRegistryWithVersion("BBBB")
registryB.RegisterProtoFile("demo.proto")
var msgDescB protoreflect.MessageDescriptor = registryB.DynamicMessageDescriptorByName("full.package.name")
msgTypeB := dynamicpb.NewMessageType(msgDescB)
msgB := dynamicpb.NewMessage(msgDescB)
// msgB.SetFields(...) and set values

// Compare the two:
outBytesA, _ := proto.Marshal(msgA)
outBytesB, _ := proto.Marshal(msgB)

// ✅ Gives the same exact bytes
if bytes.Compare(outBytes, inBytes) != 0 { // equals 0
	t.Fatalf("bytes dont match")
}

// 🛑 This seems to fail
if msgTypeA.Descriptor() != msgTypeB.Descriptor() {
    	t.Fatalf("descriptor dont match")
}

// 🛑 This seems to fail  as well
if !proto.Equal(msgA, msgB) {
	t.Fatalf("message values not equal!")
}

this might be okay as in there is no reason to worry as long as the proto.Marshal() is returning the same exact bytes which is what I would expect but I"m not super comfortable with the rest of comparisons that seem to fail.
Note: the same checks pass if I'm using the same registry aka: registryB := registryA
Your help is much appreciated 🙏

I think, that because they could potentially load separate RegisterProtoFile with a different full.package.name that we wouldn’t be able to guarantee that they’re compatible? I’m not completely sure how we could ensure that msgTypeA.Descriptor() is identical in form to msgTypeB.Descriptor() but it would absolutely require some amount of semantic equality testing, rather than a simple equality test.
I’m pretty certain that the proto.Equal comes back false precisely because the Descriptor() != Descriptor() line above it.

Yeah, proto.Equal did fail on that early check of the Descriptors as you noted @puellanivis
https://github.com/protocolbuffers/protobuf-go/blob/f62736dede0a74248d862247dbcb53ab69582a05/proto/equal.go#L46
I guess the question becomes, is there a canonical way to comparing these type descriptors semantically ?
otherwise I guess I'll have to settle with bytes.Equal comparison at the end of the day

Can you print the output of:
cmp.Diff(msgA, msgB, protocmp.Transform())

That should tell us what is different.

Hi @dsnet,
cmp.Diff returns no difference in this case
fmt.Println("diff = ", cmp.Diff(msgA, msgB, protocmp.Transform()))
// prints:  diff =

The following line is a bit odd, because a protoreflect.MessageDescriptor is an interface type and is not normally passed around as a pointer. (Unless this is a *("github.com/jhump/protoreflect/desc".MessageDescriptor)?)
var msgDescA *protoreflect.MessageDescriptor = registryA.fileRegistry.FindDescriptorByName("full.package.name")

You don't show how the protoreflect.MessageDescriptors are constructed, but in two descriptors are == only if they are the same object. If you create two MessageDescriptors from the same DescriptorProto, those descriptors will be different values and will not compare as equal.
proto.Equal(a, b) returns false if a and b have different MessageDescriptors, even if the contents of those descriptors are structurally equivalent.

Hi @neild
You're right about them not being a pointer. I'll update the snippet up top.
These are the supposed to be protoreflect.MessageDescriptor
The way I'm currently constructing them:
func (spr * CustomProtoRegistry) DynamicMessageDescriptorByName(fullName pref.FullName) (pref.MessageDescriptor, error) {
	if d, err := spr.fileRegistry.FindDescriptorByName(fullName); err != nil {
		return nil, err
	} else if msgDesc, ok := d.(pref.MessageDescriptor); !ok {
		return nil, fmt.Errorf("failed to find MessageDescriptor named: %s", fullName)
	} else {
		return msgDesc, nil
	}
}

So to reflect back, those two messages created by two different protoregistry.Files (even though they load the same .proto file) will never be proto.equal in this case. And that is the result of directly comparing their protoreflect.MessageDescriptors  as we currently have here since they are in fact different objects.
This might not be the intended purpose of the Files registry.
The main reason I chose to have a different registry for each version is that I want my server to be able to load different versions of the same proto message during runtime without conflicting on the fullName message. These different versions of the message would be sent by different clients wrapped up in an anypb.Any message in this case.

Fundamentally, proto.Equal works on messages of the same type, where "the same type" includes having the same descriptor.
It's fine to have multiple registries with distinct descriptors if that's what your use case needs, but you will not be able to use proto.Equal to compare messages across those registries. If that's an operation you need to support, you will need to define your own form of equality.

I guess that clears thing up for me. I'm fine without using proto.Equal for messages generated on different registries. that should be fine since we have the bytes.Equal providing the needed validation at this stage. I'm also considering checking the fields and options on the descriptors in case I needed a bit deeper comparison in this case.
Thank you all for looking into this 🙏
Much appreciated


Add ability to remove featured image

As far as I saw there is currently no option to remove the featured image. It would be really neat to have this functionality.

I'm open to a Pull Request :)


fix: add summary field to org flags

This PR adds flag descriptions to all the sfdx org flags. Consumers can't set properties so the flags always showed up without a desc in the help text.
top: latest sf-plugins-core using requiredOrgFlagWithDeprecations flag
bottom: requiredOrgFlagWithDeprecations with desc

[skip-validate-pr]

QA notes:
works in yarn-linked plugin-data
before
➜  ~ sf data create record -h
creates and inserts a record

USAGE
  $ sf data create record -s <value> -v <value> [--json] [-o <value>] [--api-version <value>] [-t]

FLAGS
  -o, --target-org=<value>
  -s, --sobject=<value>     (required) the type of the record you’re creating
  -t, --use-tooling-api     create the record with tooling api
  -v, --values=<value>      (required) the <fieldName>=<value> pairs you’re creating
  --api-version=<value>     Override the api version used for api requests made by this command

✅  after

➜  plugin-data git:(sm/sf-ification) ./bin/dev data:create:record -o<EMAIL_ADDRESS>--help
creates and inserts a record
USAGE
$ sfdx data:create:record -s  -v  [--json] [-o ] [--api-version ] [-t]
FLAGS
-o, --target-org=  Username or alias of the target org.
-s, --sobject=     (required) the type of the record you’re creating
-t, --use-tooling-api     create the record with tooling api
-v, --values=      (required) the = pairs you’re creating
--api-version=     Override the api version used for api requests made by this command

see also code-search links on https://github.com/salesforcecli/sf-plugins-core/pull/136 for validation that all our code sets summary when using this flag so this change doesn't change them.


Add back in local range resolution

If an artifact wants a version and it's resolvable, just use
that version. Don't make an extra round trip to fetch versions
unless the requested version doesn't work out.
Fixes #47.

One additional clarification:

Don't make an extra round trip to fetch versions unless the requested version doesn't work out.

We are currently making only one request per version specification.

For each version specification, we request all valid versions in the remote repository. This is our only interaction with aether.
Soft pins like "3.0" are treated like unbounded version range e.g. "[3.0, )"
From this list of valid versions we select the appropriate one.

For soft pins, we simply get the oldest version. If the soft pin is valid, then oldest will be itself. If it doesn't we get the next oldest. This is the protocol we previously agreed upon.
For any other version range, we just get the highest version, which we agreed to in the past.

All in all, the issue in #47 was due to version 4.0 not being listed in the repository metadata. That's an issue with the repository, not us. Your current solution resolves this specific issue, but it's important to acknowledge that this is a hack. We should minimize our reliance on this hack.

@kchodorow bump.

Abandoning this PR since @kchodorow left the team. Feel free to take over.


Support Remote Files with --file Option for imgpkg push

Describe the problem/challenge you have
For users managing manifests in a different repository than their main projects, there is no way with imgpkg push -f to reference folders or files via a url.
Describe the solution you'd like
Support pushing folders/files via a url with imgpkg push -f like below:
imgpkg push -f https://raw.githubusercontent.com/vmware-tanzu/carvel-imgpkg/9ecde093d13a203f9cbf844ede5951aa8d489c97/examples/basic-step-1/config.yml -i user/repo

Anything else you would like to add:
This could also assist with educating users about imgpkg when they go through the imgpkg workflow docs. Being able to reference remote files as opposed to needing to pull down examples while going through the workflow would be helpful for users just getting started.

Support pushing folders/files

what would a folder support look like? im not sure single file use case is that common.
im not too hot about this feature since fetching functionality arguably should be in a different tool like vendir, but ive done something similar before in kapp/ytt (hard to tell if its ultimately worth the price though).

Support pushing folders/files

what would a folder support look like? im not sure single file use case is that common.
im not too hot about this feature since fetching functionality arguably should be in a different tool like vendir, but ive done something similar before in kapp/ytt (hard to tell if its ultimately worth the price though).

At this point we don't see a strong use case for this issue so moving back to carvel-triage. If we find a use case in the future, we can change it back to carvel-accepted.

I think we should just close it then and wait for someone to ask for this as a use case in a new issue. That can be a better way to determine if it's useful or not.
I think we probably should not mark something as carvel-triage that has already been triaged or accepted. We should just say the issue is not prioritized at the moment.

@danielhelfand I think your comment makes sense. So after talking with @iamhsk we decided to close this issue for now.
Feel free to reopen this issue in case a strong use case has come to light.


Add more events severlessconf oct10, ncdevcon oct 7

@csantanapr Can you please add this while adding Serverlessconf info? https://www.meetup.com/Serverless-NYC/events/243399016/


Bump SauceConnect to 4.7.0

Hi there! I'm going to close this - not that it's not appreciated, but we had a showstopper bug in 4.7.0 so we shouldn't release the Jenkins Plugin with it. Stay tuned for 4.7.1.


TCPSocket fails...

I feel like I saw this somewhere already, but I can't find it. I am running Manjaro Linux with the 4.9 kernel. When attempting to compile the crystal compiler everything works fine until the specs run. Two tests are currently failing on Manjaro, and I have no idea why.
1) TCPSocket fails when host doesn't exist
     Failure/Error: expect_raises(Socket::Error, /No address found for doesnotexist.example.org.:12345/) do

       Expected Socket::Error, got #<Errno: Error connecting to 'doesnotexist.example.org.:12345': Connection refused> with backtrace:
         # 0xb7798410ec: initialize at /home/watzon/Projects/Clones/crystal/src/socket/tcp_socket.cr 69:15
         # 0xb77983f5a5: initialize at /home/watzon/Projects/Clones/crystal/src/socket/tcp_socket.cr 27:3
         # 0xb77983f56a: *TCPSocket::new<String, Int32>:TCPSocket at /home/watzon/Projects/Clones/crystal/src/socket/tcp_socket.cr 0:5
         # 0xb77829e333: ~procProc(Nil) at /home/watzon/Projects/Clones/crystal/src/spec/methods.cr 0:5
         # 0xb777f5912c: it at /home/watzon/Projects/Clones/crystal/src/spec/methods.cr 255:3
         # 0xb77829c131: ~procProc(Nil) at /home/watzon/Projects/Clones/crystal/src/spec/methods.cr 0:5
         # 0xb77862e453: describe at /home/watzon/Projects/Clones/crystal/src/spec/context.cr 255:3
         # 0xb77829f1c7: describe at /home/watzon/Projects/Clones/crystal/src/spec/methods.cr 4:5
         # 0xb777f1b80c: __crystal_main at /home/watzon/Projects/Clones/crystal/spec/std/socket_spec.cr 442:1
         # 0xb777f361d9: main at /home/watzon/Projects/Clones/crystal/src/main.cr 12:15
         # 0x7f96dfb6d4ca: __libc_start_main at ??
         # 0xb777f14c0a: _start at ??
         # 0x0: ??? at ??

     # spec/std/socket_spec.cr:541

  2) TCPSocket fails (rather than segfault on darwin) when host doesn't exist and port is 0
     Failure/Error: expect_raises(Socket::Error, /No address found for doesnotexist.example.org.:0/) do

       Expected Socket::Error, got #<Errno: connect: Connection timed out> with backtrace:
         # 0xb7798410fb: initialize at /home/watzon/Projects/Clones/crystal/src/socket/tcp_socket.cr 71:15
         # 0xb77983f5a5: initialize at /home/watzon/Projects/Clones/crystal/src/socket/tcp_socket.cr 27:3
         # 0xb77983f56a: *TCPSocket::new<String, Int32>:TCPSocket at /home/watzon/Projects/Clones/crystal/src/socket/tcp_socket.cr 0:5
         # 0xb77829eaa0: ~procProc(Nil) at /home/watzon/Projects/Clones/crystal/src/spec/methods.cr 0:5
         # 0xb777f5912c: it at /home/watzon/Projects/Clones/crystal/src/spec/methods.cr 255:3
         # 0xb77829c172: ~procProc(Nil) at /home/watzon/Projects/Clones/crystal/src/spec/methods.cr 0:5
         # 0xb77862e453: describe at /home/watzon/Projects/Clones/crystal/src/spec/context.cr 255:3
         # 0xb77829f1c7: describe at /home/watzon/Projects/Clones/crystal/src/spec/methods.cr 4:5
         # 0xb777f1b80c: __crystal_main at /home/watzon/Projects/Clones/crystal/spec/std/socket_spec.cr 442:1
         # 0xb777f361d9: main at /home/watzon/Projects/Clones/crystal/src/main.cr 12:15
         # 0x7f96dfb6d4ca: __libc_start_main at ??
         # 0xb777f14c0a: _start at ??
         # 0x0: ??? at ??

     # spec/std/socket_spec.cr:547

I'd be happy to work on getting these passing, but first a little help as to what the issue may be?

Related to #4130 ?

@konovod yes! I was trying to find that

So, the problem in #4130 was in a dns provider. Is a getent hosts doesnotexist.example.org output empty on your PC?

Yeah, it looks like my ISP, Cox, uses Barefruit to re-route incorrect DNS requests to a search results page. So basically incorrect domains resolve as <IP_ADDRESS>, which is Barefruit's IP for this sort of crap.

You should probably better switch to a real DNS :D

@straight-shoota yeah... I'm doing that now. Stupid cox, and I mean that as the business and the male genetalia

Nothing we can do about this I think. Other than remove the ISP monopolies and force innovation, but that seems a bit beyond this issue tracker!

What do you know? Everything passes now


Added comments to messages in localisation

Most of these are probably wrong lol

@TrentHouliston any objections? you didn't seem too keen last time this was brought up, but this seems pretty neat to me 🤷


auto-refresh of exposures page and latest exposure page

Hi,
qqa is currently used at Kitt Peak for the spectrograph tests and is proving useful.
One request:

have the exposures table page auto-refresh
have a most recent / latest exposure summary page auto-refreshed.

I'll claim this one.  Maybe tonight on my way back, maybe tomorrow.

Implemented in PR #52.


Fix alembic migration history

Description
Depends on #267 and extends #209. It fixes some migration issues.
Testing
With our new test from #267.

Is continued in #285.


Feature Request: "Flat" Interpolation

Hi! Thanks for building this. I am looking for an interpolation with no shape transformations whatsoever. That is, the default interpolation except  the size of all cards remains constant and the only translation is on the x-y plane. (like tiktok)

You can simply set inactiveSlideScale={1} to make items move horizontally.

https://github.com/archriss/react-native-snap-carousel/issues/504


[Issue] azd pipeline config creates 24 month secret for AZDO

[x] Make sure you've installed the latest version using instructions in the wiki

Output from azd version
Run azd version and copy and paste the output here: azd version 1.0.1 (commit e0cd1aca716fa5d08704beade7dcc734fe68f5f1)
Describe the bug
pipeline config for AZDO is supposed to use the tenant default secret lifetime for the app registration secret. However, it creates a 24 month secret instead. Depending on the policy and compliance requirements this could be too long.
To Reproduce

configure a pipeline for azdo using pipeline config
check the app registration created for the secret 'Azure Developer CLI'
the secret will be 24 months from the create date

Expected behavior
The secret should match the recommended expiration date for the tenant. This can be validated by going to the portal and pressing the new client secret button. The expiration's recommended date will be defaulted.
Environment
Information on your environment:
* Language name and version: YAML
* IDE and version : VSCode 1.78.2
Additional context
Add any other context about the problem here.

cc: @vhvb1989 for his input here

I had a conversation with @tonyeung about this.
We just need to make sure that when azd creates a SP for azdo or Github+client-secret, it sets an expiration time of 180 days max.


fix client handshake failure when the server supports unknown versions

Fixes #925.
The client crypto setup wrongly detected a downgrade attack when the server sent an unknown version in the SHLO. For the fix, I removed the protocol.VersionUnsupported.
The thing we're validating now during the handshake is that the version advertised in the VNP is exactly identical to the versions sent in the SHLO (including the order).
I also added an integration test that would have caught this bug.

Codecov Report

Merging #927 into master will decrease coverage by <.01%.
The diff coverage is 100%.

@@            Coverage Diff             @@
##           master     #927      +/-   ##
==========================================
- Coverage   90.63%   90.63%   -<.01%
==========================================
  Files          94       94
  Lines        6438     6436       -2
==========================================
- Hits         5835     5833       -2
  Misses        387      387
  Partials      216      216

Impacted Files
Coverage Δ

client.go
90.32% <100%> (ø)
:arrow_up:

internal/handshake/tls_extension_handler_client.go
92.73% <100%> (+0.27%)
:arrow_up:

internal/handshake/crypto_setup_client.go
89.8% <100%> (-0.07%)
:arrow_down:

internal/protocol/version.go
96.77% <100%> (-0.2%)
:arrow_down:

Continue to review full report at Codecov.

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


Add Youtube social icon into the social component in the navbar

We need to add the youtube social link to our social component which is located in the navbar
Link: https://www.youtube.com/@HemiLabs
Designs: here
Screenshot:

@rmilrad  should we add this to current app, or directly to the redesigned version?

@gndelia If its easy to add now, we can add it, otherwise we can add when we update the UI


Improve usage hint of crc podman-env --root

Solution/Idea
When crc podman-env --root is executed the "hint" should contain --root too:
...
# Run this command to configure your shell:
# eval $(crc podman-env --root)

Testing
Running crc podman-env --root should print # eval $(crc podman-env --root) on the last line of the output.

Can one of the admins verify this patch?

/approve

@praveenkumar this change is small enough to avoid the use of the development branch?

@praveenkumar this change is small enough to avoid the use of the development branch?

This can be seen as a bug fix, and yes, it's small, it belongs to master in my opinion.


two bugs found in form-validation.js

https://github.com/Tadesse-Alemayehu/Portfolio/blob/7700ebc5c4db44f2d0d9c2d2d3e05c243f3a04b7/scripts/form-validation.js#L86
Hi Tadesee, maybe you can put a curly brace at the end of the function in order to fix this.
https://github.com/Tadesse-Alemayehu/Portfolio/blob/7700ebc5c4db44f2d0d9c2d2d3e05c243f3a04b7/scripts/form-validation.js#L77
and the 2nd bug is here, in order to fix this you can put the arrow function '=>'.

@Juanse7793 Thanks for the bug report.

I have fixed the issue in a commit d7f1ad5.
Feel free to review and raise more issues.


Always getting the same instance of routing slip Activity when using Retry

Hello.
I've noticed that when using retry mechanism for routing slip activity in MT 4.0 we always get the same instance of an Activity. This is easily reproducible by running RetryActivit_Specs test in Masstransit project.
Is this by design?
We have an issue now because we are injecting dependencies trough constructor , and one of the dependencies is EF dbcontext and the issue is that context never gets fresh data from the DB.
Thank you

Any updates on this? :-)
Thank you

Not yet.

There is already an issue #923 for this, so I'm going to close this and deal with it when I get around to that issue.


Added kotlin code highlighting tag to markdown code block

Proposed Changes
The document wasn't very well readable due to code highlight for kotlin missing in the markdown. Added kotlin tag to code blocks to do code highlighting
Testing
Test: Reviewed the Preview tab for markdown file on Github
Issues Fixed
Fixes: Code highlighting not enabled for doc.

Closing as invalid


Climate ds

Merged build triggered. Test Failed.

Merged build started. Test Failed.

Merged build finished. Test Failed.


BUGS

Challenge Escaping Literal Quotes in Strings has an issue.
User Agent is: Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.103 Safari/537.36.
Please describe how to reproduce this issue, and include links to screenshots if possible.
My code:

var myStr = "I am a \"double quoted\" string inside \"double quotes\"";

its work
var myStr = "I am a "double quoted" string inside "double quotes".";


refactor: remove proofrequest property

resolves #1114

Codecov Report

Merging #1153 (0066e59) into main (3c040b6) will decrease coverage by 0.00%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##             main    #1153      +/-   ##
==========================================
- Coverage   88.32%   88.32%   -0.01%
==========================================
  Files         706      706
  Lines       16431    16430       -1
  Branches     2664     2663       -1
==========================================
- Hits        14513    14512       -1
  Misses       1911     1911
  Partials        7        7

Impacted Files
Coverage Δ

...otocol/v1/handlers/V1ProposePresentationHandler.ts
84.61% <ø> (-0.39%)
:arrow_down:

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.


Help Center - Reach Out ᑢrypto.com Wallet Support Number

➤Absolutely yes! reach out to the CRYPTOCustomer Helpline Number ((+1{707}.868.5198))for quick assistance. visit the help center at www.CRYPTO .com or email them at Support@CRYPTO .com. their official contact includes app support, chat support, and you can always dial ((+1{707}.868.5198))to talk/chat/speak
You can talk to a live support agent by phone or chat+((++1{707}.868.5198))to . Get answers to anything from how to transfer your assets into CRYPTO((+1{707}.868.5198))to to questions about CRYPTO  trades, debit card transactions, and more((+1{707}.868.5198))to .
You can talk to a live support agent by phone or chat((++1{707}.868.5198)). Get answers to anything from how to transfer your((++1{707}.868.5198)) assets into CRYPTOto questions about CRYPTO  trades, debit card transactions, and more((++1{707}.868.5198))
Absolutely yes! reach out to the CRYPTOCustomer Helpline Number ((++1{707}.868.5198)) for quick assistance. visit the help center at www.CRYPTO .com or email them at Support@CRYPTO .com((++1{707}.868.5198))
Absolutely yes! reach out to the CRYPTOCustomer Helpline Number  ((++1{707}.868.5198))for quick assistance. visit the help center at www.CRYPTO .com or email them at Support@CRYPTO .com. their official
crypto.com wallet transfer,
crypto.com wallet extension,
how to set up crypto.com wallet account,
how to send crypto to crypto.com wallet,
how to create crypto.com wallet,
is crypto.com wallet safe,
bitcoin.com wallet app withdrawal,
crypto.com transfer to another wallet,
how to send bitcoin from crypto.com to another wallet,
wallet address crypto.com,
how to send usdt from crypto.com to another wallet,
how to find wallet address on crypto.com,
how to add money to fiat wallet crypto.com,
how to add crypto.com card to apple wallet,
connect crypto.com app to defi wallet,
how to withdraw bitcoin from crypto.com to external wallet,
how to transfer btc from crypto.com to trust wallet,
how to find btc wallet address on crypto.com,
crypto.com btc wallet address,
how to send btc from crypto.com to external wallet,
how to transfer bnb from crypto.com to trust wallet,
crypto.com cold wallet,
crypto.com to coinbase wallet,
crypto.com crypto wallet,
crypto.com connect defi wallet

Closing this issue as spam.


FE: Message content (headers/key/value) selection not visible

Describe the bug (Actual behavior)
When in the Topics > Messages view and expanding a message, when selecting text in the Key/Value/Headers box, you can see the cursor move, and text is selected (confirmed with Ctrl+C, Ctrl+V), but the selected text is not (visibly) highlighted in one way or another.

Expected behavior
When selecting text, it should be hightlighted by a blue/grey/... background to show that that text is selected

Set up
Version: b0c367c v0.6.2
Self-build RPM's, which comes down to downloading jar from releases page, adding systemd service, example config and /usr/bin/... wrapper script, after-install script to create user. Config is further managed by puppet.

Steps to Reproduce

Run the jar with java 17
Connect to cluster that contains topics with messages
Open a topic, open a message
Select text in the message's key/value/header box

Screenshots

Additional context
This is on our dev setup. Issue is not present in prod setup on v0.4.0. Issue was already present in dev setup on v0.6.1.
This seems similar to #3576

same problem here, only hightlighted when running pnpm dev command.

not visible with port 8080 (docker-compose or helm install)
visible with port 3000 (pnpm dev with above server)

https://user-images.githubusercontent.com/50516754/232758523-e06dc052-86b0-4404-8df1-ebba73209e3a.mov

Hi, thanks for raising the issue. This has been fixed in master already.


Ability to predefine charset attribute for dynamically imported scripts

Feature request

It would be very useful to have an ability to choose file encoding for dynamically imported scripts, since some users (including myself) can use something other than 'utf-8' in their scripts.
What is the expected behavior?
I think an option in configuration would be perfectly fine. Something like this in webpack.config.js should work:
module.exports = {
...
  dynamicScripts: {
    encoding: 'maccyrillic',
  },
...
};

What is motivation or use case for adding/changing the behavior?
There's plenty of web pages in the internet that for some reason (mostly legacy code) use encoding different from UTF-8. I'm want to utilize webpack and deferred code loading on site with legacy cyrillic encoding that but I can't because UTF-8 charset for dynamic scripts seems to be hardcoded in webpack core.
https://github.com/webpack/webpack/blob/master/lib/web/JsonpMainTemplatePlugin.js#L155
How should this be implemented in your opinion?
An option in webpack config that then should be used when injecting <script> tags with import().
Are you willing to work on this yourself?
yes

We should at least have the ability to remove the attribute on the generated

@PTCNelsonSilva can you open an issue for that?

bmp

how to add attribute to dynamically imported scripts, for example : crossOrigin = 'annoynous'

@UNDERCOVERj config.output.crossOriginLoading = 'anonymous'


checking sonar PR issue

Another test for SonarCloud PR.

Recreated organization on Sonar Cloud , updated project key and organization, disabled automatic check to ensure no conflicts with GH actions and re-created token.


Better separate Lightbearer from Nonsense Page

The character creator is hard-coded to lightbearer at the moment. The lightbearer stuff is also mixed all into the file tree, probably should be a "Rulesets" folder.

Done in main


[SPARK-32902][SQL] Logging plan changes for AQE

What changes were proposed in this pull request?

Recently, we added code to log plan changes in the preparation phase in QueryExecution for execution (https://github.com/apache/spark/pull/29544). This PR intends to apply the same fix  for logging plan changes in AQE.
Why are the changes needed?

Easy debugging for AQE plans
Does this PR introduce any user-facing change?

No.
How was this patch tested?

Added unit tests.

Test build #128772 has started for PR 29774 at commit c113fb1.

Merged build finished. Test PASSed.

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

Test build #128772 has finished for PR 29774 at commit c113fb1.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

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

cc: @cloud-fan @HyukjinKwon

Test build #128800 has started for PR 29774 at commit e29626f.

Merged build finished. Test PASSed.

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

Test build #128800 has finished for PR 29774 at commit e29626f.

This patch fails due to an unknown error code, -9.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

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

retest this please

Test build #128824 has started for PR 29774 at commit e29626f.

Merged build finished. Test PASSed.

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

Test build #128824 has finished for PR 29774 at commit e29626f.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

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

Thanks, @cloud-fan @viirya ! Merged to master.


Perform isolation checks before hook

When trying to integrate a patch, it sometimes fails due to some reason (for example, my patch is behind or the patch differs). This happens after the isolation hook runs, and is quite frustrating because then I need to wait for the hook to run again.
Can we move those checks to run before the isolation hook?

I am not sure what checks exactly you are referring to.
When the -f option is provided it doesn't do any additional checks.
When there -f option is NOT provided it does the following checks after the isolation verification currently.

verify that the commit has a patch stack id
verify that the patch has an associated branch and has been synced
verify remote request-review branch has exactly one commit
verify that the remote rr branche's patche's diff hash matches that of the local patch in the patch stack
verify that upstream base hasn't left the remote patch behind

I guess it could make sense to let all those verifications happen prior to the isolation verification.

Closing this as it has been integrated into mainline.