Unknown upper bound allocation due to LinalgStrategyPeelPass

We found that LinalgStrategyPeelPass optimizes away some affine.min used by tensor.empty, which makes a later check not be able to calculate the upper bound of memory allocation.
This is originally found when debugging a failed test iree_tf_tests/math/llvmcpu__dynamic_dim_softmax.run with a WIP change (#10770).
Here is a crafted example to reproduce the issue:
func.func @peel_dyn(%arg0: tensor<?x?xf32>, %arg1: tensor<?x?xf32>) -> tensor<?x?xf32> {
  %c0 = arith.constant 0 : index
  %c1 = arith.constant 1 : index
  %dim0 = tensor.dim %arg0, %c0 : tensor<?x?xf32>
  %dim1 = tensor.dim %arg0, %c1 : tensor<?x?xf32>
  // The alloc_buf is uninitialized to avoid being optimized.
  %alloc_buf = tensor.empty(%dim0) : tensor<?xf32>
  %out = tensor.empty(%dim0, %dim1) : tensor<?x?xf32>
  %res = linalg.generic {
    indexing_maps = [affine_map<(d0, d1) -> (d0, d1)>, affine_map<(d0, d1) -> (d0, d1)>, affine_map<(d0, d1) -> (d0)>, affine_map<(d0, d1) -> (d0, d1)>],
    iterator_types = ["parallel", "parallel"]
  } ins(%arg0, %arg1, %alloc_buf : tensor<?x?xf32>, tensor<?x?xf32>, tensor<?xf32>) outs(%out : tensor<?x?xf32>) {
  ^bb0(%a: f32, %b: f32, %c: f32, %z: f32):
    %w = arith.maxf %a, %b : f32
    %x = arith.minf %w, %c : f32
    linalg.yield %x : f32
  } -> tensor<?x?xf32>
  return %res : tensor<?x?xf32>
}

By compiling the example with iree-compile --iree-hal-target-backends=llvm-cpu, the compiler throws an error:
error: 'memref.alloca' op expected no stack allocations without upper bound shapes

What Happened
Before LinalgStrategyPeelPass, the example is tiled into:
// -----// IR Dump Before LinalgStrategyPeelPass (iree-linalg-strategy-peel-pass) //----- //
func.func @peel_dyn_dispatch_0_generic_DxD() {
  %c1 = arith.constant 1 : index
  %c4 = arith.constant 4 : index
  %c0 = arith.constant 0 : index
  %0 = hal.interface.constant.load[0] : i32
  %1 = hal.interface.constant.load[1] : i32
  %2 = hal.interface.constant.load[2] : i32
  %3 = hal.interface.constant.load[3] : i32
  %4 = arith.index_castui %0 : i32 to index
  %5 = arith.index_castui %1 : i32 to index
  %6 = arith.index_castui %2 : i32 to index
  %7 = arith.index_castui %3 : i32 to index
  %8 = hal.interface.binding.subspan set(0) binding(0) type(storage_buffer) offset(%c0) alignment(64) : !flow.dispatch.tensor<readonly:tensor<?x?xf32>>{%6, %7}
  %9 = hal.interface.binding.subspan set(0) binding(1) type(storage_buffer) offset(%c0) alignment(64) : !flow.dispatch.tensor<readonly:tensor<?x?xf32>>{%4, %5}
  %10 = hal.interface.binding.subspan set(0) binding(2) type(storage_buffer) offset(%c0) alignment(64) : !flow.dispatch.tensor<writeonly:tensor<?x?xf32>>{%6, %7}
  %workgroup_id_x = hal.interface.workgroup.id[0] : index
  %workgroup_count_x = hal.interface.workgroup.count[0] : index
  %workgroup_id_y = hal.interface.workgroup.id[1] : index
  %workgroup_count_y = hal.interface.workgroup.count[1] : index
  %11 = affine.apply affine_map<()[s0] -> (s0 * 64)>()[%workgroup_id_y]
  %12 = affine.apply affine_map<()[s0] -> (s0 * 64)>()[%workgroup_count_y]
  %13 = affine.apply affine_map<()[s0] -> (s0 * 64)>()[%workgroup_id_x]
  %14 = affine.apply affine_map<()[s0] -> (s0 * 64)>()[%workgroup_count_x]
  scf.for %arg0 = %11 to %6 step %12 {
    %15 = affine.min affine_map<(d0)[s0] -> (-d0 + s0, 64)>(%arg0)[%6]
    scf.for %arg1 = %13 to %7 step %14 {
      %16 = affine.min affine_map<(d0)[s0] -> (-d0 + s0, 64)>(%arg1)[%7]
      %17 = flow.dispatch.tensor.load %10, offsets = [%arg0, %arg1], sizes = [%15, %16], strides = [1, 1] : !flow.dispatch.tensor<writeonly:tensor<?x?xf32>>{%6, %7} -> tensor<?x?xf32>
      %18 = flow.dispatch.tensor.load %8, offsets = [%arg0, %arg1], sizes = [%15, %16], strides = [1, 1] : !flow.dispatch.tensor<readonly:tensor<?x?xf32>>{%6, %7} -> tensor<?x?xf32>
      %19 = flow.dispatch.tensor.load %9, offsets = [%arg0, %arg1], sizes = [%15, %16], strides = [1, 1] : !flow.dispatch.tensor<readonly:tensor<?x?xf32>>{%4, %5} -> tensor<?x?xf32>
      %dim = tensor.dim %18, %c0 : tensor<?x?xf32>
      %dim_0 = tensor.dim %18, %c1 : tensor<?x?xf32>
      %20 = scf.for %arg2 = %c0 to %dim step %c4 iter_args(%arg3 = %17) -> (tensor<?x?xf32>) {
        %21 = affine.min affine_map<(d0)[s0] -> (-d0 + s0, 4)>(%arg2)[%dim]
        %22 = tensor.empty(%21) : tensor<?xf32>
        %23 = scf.for %arg4 = %c0 to %dim_0 step %c4 iter_args(%arg5 = %arg3) -> (tensor<?x?xf32>) {
          %24 = affine.min affine_map<(d0)[s0] -> (-d0 + s0, 4)>(%arg4)[%dim_0]
          %extracted_slice = tensor.extract_slice %18[%arg2, %arg4] [%21, %24] [1, 1] : tensor<?x?xf32> to tensor<?x?xf32>
          %extracted_slice_1 = tensor.extract_slice %19[%arg2, %arg4] [%21, %24] [1, 1] : tensor<?x?xf32> to tensor<?x?xf32>
          %extracted_slice_2 = tensor.extract_slice %arg5[%arg2, %arg4] [%21, %24] [1, 1] : tensor<?x?xf32> to tensor<?x?xf32>
          %25 = linalg.generic {indexing_maps = [affine_map<(d0, d1) -> (d0, d1)>, affine_map<(d0, d1) -> (d0, d1)>, affine_map<(d0, d1) -> (d0)>, affine_map<(d0, d1) -> (d0, d1)>], iterator_types = ["parallel", "parallel"]} ins(%extracted_slice, %extracted_slice_1, %22 : tensor<?x?xf32>, tensor<?x?xf32>, tensor<?xf32>) outs(%extracted_slice_2 : tensor<?x?xf32>) attrs =  {lowering_config = #iree_codegen.lowering_config<tile_sizes = [[64, 64], [4, 4], [0, 0]]>} {
          ^bb0(%in: f32, %in_3: f32, %in_4: f32, %out: f32):
            %26 = arith.maxf %in, %in_3 : f32
            %27 = arith.minf %26, %in_4 : f32
            linalg.yield %27 : f32
          } -> tensor<?x?xf32>
          %inserted_slice = tensor.insert_slice %25 into %arg5[%arg2, %arg4] [%21, %24] [1, 1] : tensor<?x?xf32> into tensor<?x?xf32>
          scf.yield %inserted_slice : tensor<?x?xf32>
        }
        scf.yield %23 : tensor<?x?xf32>
      }
      flow.dispatch.tensor.store %20, %10, offsets = [%arg0, %arg1], sizes = [%15, %16], strides = [1, 1] : tensor<?x?xf32> -> !flow.dispatch.tensor<writeonly:tensor<?x?xf32>>{%6, %7}
    }
  }
  return
}

After LinalgStrategyPeelPass, the output is:
// -----// IR Dump After LinalgStrategyPeelPass (iree-linalg-strategy-peel-pass) //----- //
func.func @peel_dyn_dispatch_0_generic_DxD() {
  %c1 = arith.constant 1 : index
  %c4 = arith.constant 4 : index
  %c0 = arith.constant 0 : index
  %0 = hal.interface.constant.load[0] : i32
  %1 = hal.interface.constant.load[1] : i32
  %2 = hal.interface.constant.load[2] : i32
  %3 = hal.interface.constant.load[3] : i32
  %4 = arith.index_castui %0 : i32 to index
  %5 = arith.index_castui %1 : i32 to index
  %6 = arith.index_castui %2 : i32 to index
  %7 = arith.index_castui %3 : i32 to index
  %8 = hal.interface.binding.subspan set(0) binding(0) type(storage_buffer) offset(%c0) alignment(64) : !flow.dispatch.tensor<readonly:tensor<?x?xf32>>{%6, %7}
  %9 = hal.interface.binding.subspan set(0) binding(1) type(storage_buffer) offset(%c0) alignment(64) : !flow.dispatch.tensor<readonly:tensor<?x?xf32>>{%4, %5}
  %10 = hal.interface.binding.subspan set(0) binding(2) type(storage_buffer) offset(%c0) alignment(64) : !flow.dispatch.tensor<writeonly:tensor<?x?xf32>>{%6, %7}
  %workgroup_id_x = hal.interface.workgroup.id[0] : index
  %workgroup_count_x = hal.interface.workgroup.count[0] : index
  %workgroup_id_y = hal.interface.workgroup.id[1] : index
  %workgroup_count_y = hal.interface.workgroup.count[1] : index
  %11 = affine.apply affine_map<()[s0] -> (s0 * 64)>()[%workgroup_id_y]
  %12 = affine.apply affine_map<()[s0] -> (s0 * 64)>()[%workgroup_count_y]
  %13 = affine.apply affine_map<()[s0] -> (s0 * 64)>()[%workgroup_id_x]
  %14 = affine.apply affine_map<()[s0] -> (s0 * 64)>()[%workgroup_count_x]
  scf.for %arg0 = %11 to %6 step %12 {
    %15 = affine.min affine_map<(d0)[s0] -> (-d0 + s0, 64)>(%arg0)[%6]
    scf.for %arg1 = %13 to %7 step %14 {
      %16 = affine.min affine_map<(d0)[s0] -> (-d0 + s0, 64)>(%arg1)[%7]
      %17 = flow.dispatch.tensor.load %10, offsets = [%arg0, %arg1], sizes = [%15, %16], strides = [1, 1] : !flow.dispatch.tensor<writeonly:tensor<?x?xf32>>{%6, %7} -> tensor<?x?xf32>
      %18 = flow.dispatch.tensor.load %8, offsets = [%arg0, %arg1], sizes = [%15, %16], strides = [1, 1] : !flow.dispatch.tensor<readonly:tensor<?x?xf32>>{%6, %7} -> tensor<?x?xf32>
      %19 = flow.dispatch.tensor.load %9, offsets = [%arg0, %arg1], sizes = [%15, %16], strides = [1, 1] : !flow.dispatch.tensor<readonly:tensor<?x?xf32>>{%4, %5} -> tensor<?x?xf32>
      %dim = tensor.dim %18, %c0 : tensor<?x?xf32>
      %dim_0 = tensor.dim %18, %c1 : tensor<?x?xf32>
      %20 = affine.apply affine_map<()[s0, s1, s2] -> (s1 - (s1 - s0) mod s2)>()[%c0, %dim, %c4]
      %21 = scf.for %arg2 = %c0 to %20 step %c4 iter_args(%arg3 = %17) -> (tensor<?x?xf32>) {
        %23 = tensor.empty(%c4) : tensor<?xf32>
        %24 = affine.apply affine_map<()[s0, s1, s2] -> (s1 - (s1 - s0) mod s2)>()[%c0, %dim_0, %c4]
        %25 = scf.for %arg4 = %c0 to %24 step %c4 iter_args(%arg5 = %arg3) -> (tensor<?x?xf32>) {
          %extracted_slice = tensor.extract_slice %18[%arg2, %arg4] [%c4, %c4] [1, 1] : tensor<?x?xf32> to tensor<?x?xf32>
          %extracted_slice_1 = tensor.extract_slice %19[%arg2, %arg4] [%c4, %c4] [1, 1] : tensor<?x?xf32> to tensor<?x?xf32>
          %extracted_slice_2 = tensor.extract_slice %arg5[%arg2, %arg4] [%c4, %c4] [1, 1] : tensor<?x?xf32> to tensor<?x?xf32>
          %27 = linalg.generic {indexing_maps = [affine_map<(d0, d1) -> (d0, d1)>, affine_map<(d0, d1) -> (d0, d1)>, affine_map<(d0, d1) -> (d0)>, affine_map<(d0, d1) -> (d0, d1)>], iterator_types = ["parallel", "parallel"]} ins(%extracted_slice, %extracted_slice_1, %23 : tensor<?x?xf32>, tensor<?x?xf32>, tensor<?xf32>) outs(%extracted_slice_2 : tensor<?x?xf32>) attrs =  {__internal_linalg_transform__ = "1", lowering_config = #iree_codegen.lowering_config<tile_sizes = [[64, 64], [4, 4], [0, 0]]>} {
          ^bb0(%in: f32, %in_3: f32, %in_4: f32, %out: f32):
            %28 = arith.maxf %in, %in_3 : f32
            %29 = arith.minf %28, %in_4 : f32
            linalg.yield %29 : f32
          } -> tensor<?x?xf32>
          %inserted_slice = tensor.insert_slice %27 into %arg5[%arg2, %arg4] [%c4, %c4] [1, 1] : tensor<?x?xf32> into tensor<?x?xf32>
          scf.yield %inserted_slice : tensor<?x?xf32>
        }
        %26 = scf.for %arg4 = %24 to %dim_0 step %c4 iter_args(%arg5 = %25) -> (tensor<?x?xf32>) {
          %27 = affine.apply affine_map<(d0, d1) -> (-d0 + d1)>(%arg4, %dim_0)
          %extracted_slice = tensor.extract_slice %18[%arg2, %arg4] [%c4, %27] [1, 1] : tensor<?x?xf32> to tensor<?x?xf32>
          %extracted_slice_1 = tensor.extract_slice %19[%arg2, %arg4] [%c4, %27] [1, 1] : tensor<?x?xf32> to tensor<?x?xf32>
          %extracted_slice_2 = tensor.extract_slice %arg5[%arg2, %arg4] [%c4, %27] [1, 1] : tensor<?x?xf32> to tensor<?x?xf32>
          %28 = linalg.generic {indexing_maps = [affine_map<(d0, d1) -> (d0, d1)>, affine_map<(d0, d1) -> (d0, d1)>, affine_map<(d0, d1) -> (d0)>, affine_map<(d0, d1) -> (d0, d1)>], iterator_types = ["parallel", "parallel"]} ins(%extracted_slice, %extracted_slice_1, %23 : tensor<?x?xf32>, tensor<?x?xf32>, tensor<?xf32>) outs(%extracted_slice_2 : tensor<?x?xf32>) attrs =  {__internal_linalg_transform__ = "1", lowering_config = #iree_codegen.lowering_config<tile_sizes = [[64, 64], [4, 4], [0, 0]]>} {
          ^bb0(%in: f32, %in_3: f32, %in_4: f32, %out: f32):
            %29 = arith.maxf %in, %in_3 : f32
            %30 = arith.minf %29, %in_4 : f32
            linalg.yield %30 : f32
          } -> tensor<?x?xf32>
          %inserted_slice = tensor.insert_slice %28 into %arg5[%arg2, %arg4] [%c4, %27] [1, 1] : tensor<?x?xf32> into tensor<?x?xf32>
          scf.yield %inserted_slice : tensor<?x?xf32>
        }
        scf.yield %26 : tensor<?x?xf32>
      }
      %22 = scf.for %arg2 = %20 to %dim step %c4 iter_args(%arg3 = %21) -> (tensor<?x?xf32>) {
        %23 = affine.apply affine_map<(d0, d1) -> (-d0 + d1)>(%arg2, %dim)
        %24 = tensor.empty(%23) : tensor<?xf32>
        %25 = scf.for %arg4 = %c0 to %dim_0 step %c4 iter_args(%arg5 = %arg3) -> (tensor<?x?xf32>) {
          %26 = affine.min affine_map<(d0)[s0] -> (-d0 + s0, 4)>(%arg4)[%dim_0]
          %extracted_slice = tensor.extract_slice %18[%arg2, %arg4] [%23, %26] [1, 1] : tensor<?x?xf32> to tensor<?x?xf32>
          %extracted_slice_1 = tensor.extract_slice %19[%arg2, %arg4] [%23, %26] [1, 1] : tensor<?x?xf32> to tensor<?x?xf32>
          %extracted_slice_2 = tensor.extract_slice %arg5[%arg2, %arg4] [%23, %26] [1, 1] : tensor<?x?xf32> to tensor<?x?xf32>
          %27 = linalg.generic {indexing_maps = [affine_map<(d0, d1) -> (d0, d1)>, affine_map<(d0, d1) -> (d0, d1)>, affine_map<(d0, d1) -> (d0)>, affine_map<(d0, d1) -> (d0, d1)>], iterator_types = ["parallel", "parallel"]} ins(%extracted_slice, %extracted_slice_1, %24 : tensor<?x?xf32>, tensor<?x?xf32>, tensor<?xf32>) outs(%extracted_slice_2 : tensor<?x?xf32>) attrs =  {__internal_linalg_transform__ = "1", lowering_config = #iree_codegen.lowering_config<tile_sizes = [[64, 64], [4, 4], [0, 0]]>} {
          ^bb0(%in: f32, %in_3: f32, %in_4: f32, %out: f32):
            %28 = arith.maxf %in, %in_3 : f32
            %29 = arith.minf %28, %in_4 : f32
            linalg.yield %29 : f32
          } -> tensor<?x?xf32>
          %inserted_slice = tensor.insert_slice %27 into %arg5[%arg2, %arg4] [%23, %26] [1, 1] : tensor<?x?xf32> into tensor<?x?xf32>
          scf.yield %inserted_slice : tensor<?x?xf32>
        }
        scf.yield %25 : tensor<?x?xf32>
      }
      flow.dispatch.tensor.store %22, %10, offsets = [%arg0, %arg1], sizes = [%15, %16], strides = [1, 1] : tensor<?x?xf32> -> !flow.dispatch.tensor<writeonly:tensor<?x?xf32>>{%6, %7}
    }
  }
  return
}

We can notice that the size of tensor allocation in the second loop becomes a simple affine.apply due to the optimization [1]:
%23 = affine.apply affine_map<(d0, d1) -> (-d0 + d1)>(%arg2, %dim)
%24 = tensor.empty(%23) : tensor<?xf32>

while originally it was:
%21 = affine.min affine_map<(d0)[s0] -> (-d0 + s0, 4)>(%arg2)[%dim]
%22 = tensor.empty(%21) : tensor<?xf32>

This causes the later LLVMCPUCheckIRBeforeLLVMConversion fails to derive the upper bound of tensor allocation [2].

Not sure about the solution here. I think it's hard to make linalg::getConstantUpperBoundForIndex in LLVMCPUCheckIRBeforeLLVMConversion to know the upper bound of affine.apply.
If it's not easy to solve, maybe we can disable the check in LLVMCPUCheckIRBeforeLLVMConversion as a temporary solution.

Reopen since we decided to disable some tests for this issue

This problem seems to get worse when we enable vector masking (https://github.com/iree-org/iree/pull/11286). I'm now getting similar stack overflow errors when building iree-test-deps:
/usr/local/google/home/diegocaballero/iree2/tests/e2e/models/mobilenetv3_fake_weights.mlir:977:12: error: 'builtin.module' op expected total size of stack allocation is not greater than 32768 bytes, but got 74112 bytes
    %731 = mhlo.maximum %730, %262 : tensor<1x1x1x144xf32>
/usr/local/google/home/diegocaballero/iree2/build/debug/tests/e2e/matmul/e2e_matmul_direct_f32_large_split_k_llvm-cpu_local-task.mlir:12:13: error: 'builtin.module' op expected total size of
stack allocation is not greater than 32768 bytes, but got 53504 bytes

From a compiler perspective, I wonder how is that we are not using heap allocation. It wasn't mentioned in our discussions so I guess there are some limitations that prevent that from doing so but I'm pretty surprise that we can get things moving only with stack allocations. Anybody knows?

There seems to be even more stack allocation issues when building the benchmark suite with masking. We need to think about what to do because this is now a blocker. Any other thoughts @pzread, @MaheshRavishankar, @hanhanW?

Do we know the source of those stack allocations? Are they unbounded allocation or fixed size but too large?

I guess there are some limitations that prevent that from doing so but I'm pretty surprise that we can get things moving only with stack allocations.

I think IREE dose not want heap allocation in codegen because not every device target has a big heap. @benvanik knows more about it. If we really need a big heap buffer, we can maybe propagate it to HAL, and pass the buffer as one of inputs/outputs. @benvanik mentioned that it's doable and he might already build some pieces that we can reuse.
One question is -- why do we need a big buffer here? looking into the input IR and assuming that there is producer (which is a matmul) in the same dispatch.
matmul ... -> tensor<1x1x144xf32>
%731 = mhlo.maximum %730, %262 : tensor<1x1x1x144xf32>

Do we really need an extra buffer for codgen the dispatch? If so, why is it larger than 32 KB?
(I thought integrating vector masking would be an NFC step, and then we will extend the usage for getting better performance. but it seems not..?)

Could you post the IR to diagnose the problem better, but broadly what Hanhan says. We only allow limited stack allocations and no additional heap allocations within the dispatch. So for the dispatches we create, we should never need stack or heap allocations (or at least outside the bound). Mostly if you vectorize you shouldnt need any heap allocation, so I am not sure why masking is requiring more stack/heap allocation....

+1 hanhan/mahesh! There are ways to get transient buffers but I've yet to see a case where it's actually needed in any of the kind of things we codegen (today) so when issues are encountered it's a good indicator that something in the pipeline is failing.
Hopefully useful background because it's been a year or two since this last came up:
The base assertion is that if you're doing a local workgroup worth of work you shouldn't need a global problem-sized block of allocated memory. If, however, you're just on the border of what's reasonable in the local scope (maybe this issue?) that's something that will need to factor in to distribution across all backends as they all have similar limits (shared memory sizes on GPUs, etc). An example of one way we could handle this is to setup the codegen translation pipeline to try to codegen with the given distribution, fail when too much local memory used, and retry with finer distributions until it succeeds. We will need this kind of behavior in some form anyway as when we are targeting a broad spectrum of Vulkan/Metal/etc devices we're likely to need to produce those variants: https://vulkan.gpuinfo.org/displaydevicelimit.php?name=maxComputeSharedMemorySize&platform=all (today we just hardcode the attributes but that's not something we can ship). That only works if we can get to a reasonable point where scaling the distribution scales the local memory use, though, and the best case would be if it's parametric. Parametric representations of this stuff ("given this workload and distribution how much memory do you need?" -> "given this workload and available memory how much distribution do you want?") would let us tune (certain) aspects of distribution at runtime based on the available hardware.
But the best thing to keep in mind both in the short- and long-term is to focus on minimizing workgroup local memory sizes as much as practically/algorithmically possible. It would be an interesting metric to track over time (alongside dispatch binary size and such) as it's usually only possible to see the derivative aspects in vendor tools (decreased utilization because higher shared resource contention/etc). Stare at the tools long enough and you get a healthy fear of shared memory when it's not absolutely required:

That is to say if someone introduces a change that adds even just a few KB of additional shared memory consumption (a few  wide vectors) then occupancy will be halved so IMO any problems we have around additional large shared memory allocations being produced by codegen should be P1 performance issues. This is really critical on GPU but also important on CPU: our "shared memory" is CPU data caches and if we spill out of that we risk introducing cache contention and thus lowering occupancy.

Thank you all for the detailed feedback and thank you, Che Yu, for giving me some hits for the investigation! I fixed the problem. We generated a pad + matmul and the pad operation wasn't vectorized with my code whereas the matmul was. That created a temporary buffer between the two ops larger than the current 32KB upper limit.
I agree with the approach and principles described above. However, from a production perspective, I wonder if we are not prioritizing performance vs support/coverage. We may want the compiler to generate "slower" code that can run instead of bailing out compilation. Is the use of shared memory always mandatory? Are we able to fall back to global memory for cases where we exceed a specific shared memory threshold? Have we considered heap allocation or the use of smart allocators for some targets? (Sorry, lot of questions :)) I think these points may become more relevant as we invest more in datacenter support.

I agree with the approach and principles described above. However, from a production perspective, I wonder if we are not prioritizing performance vs support/coverage. We may want the compiler to generate "slower" code that can run instead of bailing out compilation. Is the use of shared memory always mandatory? Are we able to fall back to global memory for cases where we exceed a specific shared memory threshold? Have we considered heap allocation or the use of smart allocators for some targets? (Sorry, lot of questions :)) I think these points may become more relevant as we invest more in datacenter support.

All this should actually be factored into the tile size selection, and use this limit while deciding the tile sizes / configurations to chose.... Ben can probably explain the tradeoffs for the other questions

Coming from the other issue. Here is the IR before bufferization: https://gist.github.com/hanhanW/3dfd7d87a456f28319c6569e2d498cfd/raw
%18 = flow.dispatch.tensor.load %9, offsets = [%arg0], sizes = [%17], strides = [1] : !flow.dispatch.tensor<writeonly:tensor<?xf32>>{%6} -> tensor<?xf32>
%21 = scf.for %arg1 = %c0 to %20 step %c4 iter_args(%arg2 = %18) -> (tensor<?xf32>) {
  ...
}
%22 = scf.for %arg1 = %20 to %17 step %c4 iter_args(%arg2 = %21) -> (tensor<?xf32>) {
  ...
}
flow.dispatch.tensor.store %22, %9, offsets = [%arg0], sizes = [%17], strides = [1] : tensor<?xf32> -> !flow.dispatch.tensor<writeonly:tensor<?xf32>>{%6}

@matthias-springer I'm wondering if we can teach bufferization to not allocate a stack buffer for this type of case? It looks like all the operations can reuse the destination buffer?

@hanhanW I prepared #11550, which cherry-picks those commits and few others that I need (for a different purpose).

Thanks a lot for the quick fix!!

Awesome! Should we close this issue?

There are still two test cases that were not fixed by #11550:
integrations/tensorflow/test/iree_tf_tests/math/llvmcpu__dynamic_dim_log_softmax.run:# TODO(#11196): Re-enable once the issue is resolved.
integrations/tensorflow/test/iree_tf_tests/math/llvmcpu__dynamic_dim_softmax.run:# TODO(#11196): Re-enable once the issue is resolved.

Hey @matthias-springer, what is the state of the the last two cases that were not fixed by #11550? Is there anything pending here?


Question on explicit property of registry on model

Hey just a couple of questions.

Can a collection be given a registry property or only a model.
What repo should I look in to find the code that auto populates a model in the registry when it's explicitly defined on the model definition? I've been hunting around and having trouble finding it.

Would be really neat if the docs for the registry could be removed from the npm page. That would've saved me a lot of confusion! :P

@simme sorry, also, I don't quite follow what you're saying. You mean remove it from npm entirely?

Sorry for being unclear. No, I mean the notion of a registry property on ampersand-model. The docs on github are not the same.

Oh, so we just need to publish a patch update it sounds like.

@simme, I think perhaps i'm dense. But I'm still not understanding what you're saying we should do.

The README at npm talks about the registry property on ampersand-model. Which — according to this thread — has been deprecated.
The README on GitHub on the other hand shows you how to register a model with the registry inside the initialize method of a model and does not mention this property.
It also seems like the latest version published to npm is 0.2.2 while the latest version on GitHub is 0.2.3. So it seems like all you have to do is push the latest version to npm!

New release published to sync versions on npm and github, both now a 0.2.4. Closing.


added camera

This PR is a part of the PR in branch feature/add_camera2, witch is currently merged:
https://github.com/Banuba/quickstart-android-c-api/pull/8
So this PR can be closed


Upgrade japanese translation

ありがとうございます
Thank you for your contribution. I will publish a new version soon.

Published as version 19. Thanks again.


chore: add buy me a coffee

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 82.05%. Comparing base (f0a51ab) to head (9c305ce).
Report is 2 commits behind head on main.

Additional details and impacted files
@@           Coverage Diff           @@
##             main     #100   +/-   ##
=======================================
  Coverage   82.05%   82.05%
=======================================
  Files          92       92
  Lines        2012     2012
=======================================
  Hits         1651     1651
  Misses        361      361

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


Feature/new zone api

use new zone api
fix polygon drawing
add marker editing
link zone dropdown and search bar
fix comparison component
lint the rest of the app
other small bugs

Your review app has been deployed and is available at 'http://<IP_ADDRESS>:80'.Learn More about how to test and provide feedback for the app.

Your review app has been deployed and is available at 'http://,<IP_ADDRESS>:80'.Learn More about how to test and provide feedback for the app.

Your review app has been deployed and is available at 'http://,<IP_ADDRESS>:80'.Learn More about how to test and provide feedback for the app.


systemd problem on install

Describe what happened:
I've noticed that on Centos 7.4 and 7.5(maybe others too) systemd cant find .service file
.service file is located here /lib/systemd/system/datadog-agent.service
so I move it to /usr/lib/systemd/system/datadog-agent.service and everything works as expected
Describe what you expected:
service path should be /usr/lib/...
Steps to reproduce the issue:

add datadog repo https://yum.datadoghq.com/stable/6/x86_64/
install datadog
try to run systemctl start datadog-agent

Additional environment details (Operating System, Cloud provider, etc):
on DigitalOcean Centos 7.4+
and manual installed Centos 7.5

Hi @undiabler, thanks for reporting this issue.
It appears that the RedHat docs does list /usr/lib/systemd/ as the directory where packages should drop systemd unit files (ref. https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/7/html/system_administrators_guide/chap-Managing_Services_with_systemd#tabl-Managing_Services_with_systemd-Introduction-Units-Locations). I'll open a PR to make our package reflect this.
That said I've tried reproducing the issue on a clean DigitalOcean VM (running the base image CentOS 7.5) and wasn't able to: it appears that the agent works fine as-is there. The /lib directory is a symlink to /usr/lib so the service file does end up in /usr/lib/ without user intervention.
Do you know of something specific to your environment that could be explaining the difference in behavior?

drwxr-xr-x.   3 root root   21 May  8 06:47 lib
lrwxrwxrwx.   1 root root    9 Mar  2 14:59 lib64 -> usr/lib64

is seems like there is no symlink for lib path by default
CentOS Linux release 7.4.1708 (Core)
3.10.0-693.17.1.el7.x86_64
have you tested on x64 ?

Thanks for the info, I did test on x64 (see below for more details).
In any case, I've opened https://github.com/DataDog/datadog-agent/pull/1711 to address this, I'll see if we can ship it in a bugfix release (6.2.1) or wait for 6.3.0.
I have the exact same versions of CentOS and of the kernel on my environment:
# cat /etc/system-release
CentOS Linux release 7.4.1708 (Core)
# uname -r
3.10.0-693.17.1.el7.x86_64

but:
lrwxrwxrwx.  1 root root    7 Mar  2 14:59 lib -> usr/lib
lrwxrwxrwx.  1 root root    9 Mar  2 14:59 lib64 -> usr/lib64

Could be related to an installed rpm package that changes the /lib symlink to a directory on your environment. On mine, only the filesystem pkg owns /lib:
# rpm -qf /lib
filesystem-3.2-21.el7.x86_64


Remove autobind decorator

Issue: https://github.com/niftylettuce/react-native-loading-spinner-overlay/issues/20

See https://github.com/niftylettuce/react-native-loading-spinner-overlay/issues/20#issuecomment-231388519


Find ways to manage ressources in frameworks with hot-reload to Help Effect-ts integration

We have a problem with auto-reload and ressource release.
For example with NextJs and Prisma Client, when NextJs reloads, there's no way for Managed to be run.
On the Prisma website, it is said to basically store a global (which doesn't really solve the actual issue).
From @mikearnaldi past efforts, there's no solution to that issue ans from @schickling we may ask for some help from NextJs team (acknowledging that the problem is broader than this lib but it's pretty trendy nowadays).
The solution has to be found, this issue is here to collect and iterate on possibilities

Well, FinalizationRegistry might possibly be helpful -- they don't guarantee that finalizers will be called under any circumstances at all -- but it does exist, as does WeakRef -- though that's not guaranteed to actually be weak, either. (All WeakRefs to a given object are, however, guarenteed to be broken at the same time, and if any finalizers for an object are run, the WeakRefs are guaranteed to have been broken before that.)
WeakMap and WeakSet certainly won't help -- you can't iterate over them, and it's the keys that are weakly referenced.
So, for cleanups of semantic importance or having to do with precious, off-heap resources like file descriptors/OS-level handles or external memory allocations, you would NOT be able to rely on FinalizationRegistry (which might never run the finalizer) or have much use for WeakRef (losing the reference to the file handle, etc. is obviously not useful), and would just need a global registry, stashed someplace that you never try to reload...
For cleanups that merely reduce excess memory use, weakrefs/finalizers might be fine, though it would be better to think about WeakSet/WeakMap first because those can be cleaned up asynchronously, without waiting for the next time the host's event loop decides to allow it. (See https://tc39.es/ecma262/#sec-weakref-processing-model for details.) Also, finalization-based are extremely difficult to reason about; it is quite easy to accidentally retain a strong reference somehow or other, which would render the finalizer worse than useless (though at least, since FinalizationRegistry uses a single callback for the whole registry, you're much less likely to end up capturing a reference to the object in the callback's closure -- which might happen in some systems even if the callback doesn't actually reference the relevant variable).
WeakRefs are also more efficient than finalizers: if none of the WeakRefs to an otherwise-unreachable object were created or dereferenced since the last time the host invoked the  ClearKeptObjects() abstract operation, the implementation may break the WeakRefs without waiting for the host's event loop to invoke ClearKeptObjects() again. Furthermore, finalizers have to run user code, and in practice I think anything kept live by a registry entry's [[HeldValue]] would have to wait for the next pass of garbage collection to get cleaned up, whereas weak references can't themselves require multiple cleanup passes.
... um, feel free to minimize this comment, I didn't mean to ramble so much ...


$env:PROCESSOR_ARCHITECTURE incorrectly displaying x86 on AMD64 platform?

Steps to reproduce
$env:PROCESSOR_ARCHITECTURE

Expected behavior
AMD64

Actual behavior
[screenshot of both 5.1 and 7.0]

Environment data

Name                           Value
----                           -----
PSVersion                      7.0.0
PSEdition                      Core
GitCommitId                    7.0.0
OS                             Microsoft Windows 10.0.18363
Platform                       Win32NT
PSCompatibleVersions           {1.0, 2.0, 3.0, 4.0…}
PSRemotingProtocolVersion      2.3
SerializationVersion           <IP_ADDRESS>
WSManStackVersion              3.0

@sgaglione PROCESSOR_ARCHITECTURE reflects the architecture of the process you are in.  Looking at the screenshot, you have installed the 32 bit version of PowerShell 7.
If you're looking for whether the operating system is 64 bit you can use [Environment]::Is64BitOperatingSystem.

good lord; i didn't even know there was such a thing...this day and age.  my bad and i've since installed the x64 version.  so sad on my part.

@sgaglione No worries, happens to us all 🙂


added swagger ui and changed port to 8080

Before creating a pull request make sure that:

[ ] commit messages are meaningful and follow good commit message guidelines
[ ] README and other documentation has been updated / added (if needed)
[ ] tests have been updated / new tests has been added (if needed)

Please remove this line and everything above and fill the following sections:
JIRA link (if applicable)
https://tools.hmcts.net/jira/browse/PUB-531
Change description
added swagger and changed port to 8080

Does this PR introduce a breaking change? (check one with "x")
[ ] Yes
[ ] No

Looks good. Just needs checkstyles fixing then happy to approve.


Update FullStory recording snippet

Update the Segment-FullStory integration with the most recent version of the FullStory recording snippet.

Closing because we have another change to the recording snippet coming, and we will submit another PR with all changes together.


Update Versions Table - v2.7.15

Updating the versions table fields for v2.7.15

@LucasSaintarbor just reminding that this and some other, related PRs are still drafts


Add a way to view monthly expenses on the dashboard

Right now theres only one sankey-diagram showing the income / expenses of the whole year. It'd be nice to take the average of everything and add a button to display the same diagram on a monthly basis.

Closing due to being off-topic. We have a separate view (the table-view) for that.


Japanese translation of website.

We have translated the website into Japanese halfway through.
Could you please merge it?

Fantastic work! Can you sign the CLA (it's easy) so that we can get this merged in?
Thank you!

I signed the CLA!
Please Merge.


python build.py build  --ios arm64 error

ERROR: /private/var/tmp/_bazel_zl/6de371e6cb5a92efe862db2fb0286ee5/external/build_bazel_rules_apple/tools/realpath/BUILD:9:14: in _apple_genrule_inner rule @build_bazel_rules_apple//tools/realpath:realpath_genrule:
Traceback (most recent call last):
File "/private/var/tmp/_bazel_zl/6de371e6cb5a92efe862db2fb0286ee5/external/build_bazel_apple_support/rules/apple_genrule.bzl", line 78, column 28, in _apple_genrule_impl
apple_support.run_shell(
File "/private/var/tmp/_bazel_zl/6de371e6cb5a92efe862db2fb0286ee5/external/build_bazel_apple_support/lib/apple_support.bzl", line 326, column 26, in _run_shell
ctx.actions.run_shell(**_kwargs_for_apple_platform(ctx, **kwargs))
Error in run_shell: 'command' must be of type string. passing a sequence of strings as 'command' is deprecated. To temporarily disable this check, set --incompatible_run_shell_command_string=false.
ERROR: Analysis of target '//mediapipe_api/objc:MediaPipeUnity' failed; build aborted: Analysis of target '@build_bazel_rules_apple//tools/realpath:realpath_genrule' failed
INFO: Elapsed time: 0.385s
INFO: 0 processes.
FAILED: Build did NOT complete successfully (10 packages loaded, 7116 targets configured)

Please describe the issue in this format.
If you're using bazel >= 4.0.0, please use 3.7.2.
See here and https://github.com/google/mediapipe/issues/1551


Ignite-4756 Print info about partition distribution to log.

Added tests, printDistribution method, IGNITE_PART_DISTRIBUTION_WARN_THRESHOLD system property.

Leave a comment


[release/v1.4] Upgrade OpenStack CCM and Cinder CSI for Kubernetes 1.23 clusters

What type of PR is this?
/kind bug
What this PR does / why we need it:
This PR is a manual cherry-pick of #2151
Update OpenStack CCM and Cinder CSI to v1.23.3 for Kubernetes 1.23 clusters.
Which issue(s) this PR fixes (optional, in fixes #<issue number>(, fixes #<issue_number>, ...) format, will close the issue(s) when PR gets merged):
xref #2150
Does this PR introduce a user-facing change?:
Update OpenStack CCM and Cinder CSI to v1.23.3 for Kubernetes 1.23 clusters

/assign @ahmedwaleedmalik

/hold
v1.23.3 release is broken (see https://github.com/kubernetes/cloud-provider-openstack/issues/1938)

/hold cancel
The issue has been fixed in v1.23.4.

/approve
/lgtm
:+1:

/retest


Make the relation scalar to be writable

Problem
It sucks when you receive an input in this format: { data: { authorId: 1 } } and have to map to this one: { data: { author: { connect: { id: 1 } } } } because we can't write to relation fields directly. That makes it harder to reuse code.
Solution
Make the relation scalar to be writable from Prisma Client.
Alternatives
Map each entity's input before sending to Prisma (must be done differently for each entity).
Additional context
https://github.com/prisma/prisma/discussions/2097

Related: https://github.com/prisma/prisma/issues/2152

@gfpacheco This is implemented with uncheckedScalarInputs: https://github.com/prisma/prisma/issues/4209

@gfpacheco This is implemented with uncheckedScalarInputs: https://github.com/prisma/prisma/issues/4209


remove @author from scaladoc (and javadoc)

Worth checking with Incubator PMC if this is needed
it is not the norm for ASF code to use author tags - the code belongs to everyone - Git has tools to allow research on authorship

I think this is ok. The only source with @author tags appears to be code that is not of Lightbend or Apache origin (Google protobuf and MurmurHash.scala).


Getting an error while attaching the empty CSV file.

Hi,
I am getting an error "Could not convert file file.csv",  while sending the empty CSV file in attachment.

I have tested this module with a lot of files, but not empty ones. So I think this will be correct. I will try to find time to add a check if the file is empty. I'm not sure if I can find a way to send an empty file, would it be an acceptable solution if it would just send the mail without the attachment?


UDF changed to multiple choice

Codecov Report

Merging #2077 into dev-resource-tree will decrease coverage by 0.02%.
The diff coverage is n/a.

@@                   Coverage Diff                   @@
##             dev-resource-tree    #2077      +/-   ##
=======================================================
- Coverage                24.47%   24.44%   -0.03%
+ Complexity                1317     1316       -1
=======================================================
  Files                      317      317
  Lines                    16880    16880
  Branches                  2079     2079
=======================================================
- Hits                      4131     4127       -4
- Misses                   12291    12294       +3
- Partials                   458      459       +1

Impacted Files
Coverage Δ
Complexity Δ

...he/dolphinscheduler/common/thread/ThreadUtils.java
71.18% <0%> (-6.78%)
12% <0%> (-1%)

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 8094ed2...3931003. Read the comment docs.


Copy/cut/paste/select all/delete key combos don't do anything in Munged Files Edit window

Pressing Ctrl+C, Ctrl+X, Ctrl+V, Ctrl+A, or Del doesn't do anything in the Munged Files Edit window.

Issue fixed in eb5e509 - closing.


PointList not updated after clearing the previous paths.

Hi,
I found an issue while working on your code. on initial refresh, we can draw a polygon and I'm getting the pointList, the issue happens when the user clears the previous path and created the new polygon, in that case, pointList is not updating, pls have a look on this, Thanks in advance!!!

Sure, will check and get back!

Fix merged by commit "Fixing issue: PointList not updated after clearing the previous paths.". Please verify and get back!


fix(server): deprecate and replace model.list operation with model.get

Feature or Problem
fix response object for model.list operation so that it is consistent with response objects of other operations.
Related Issues
#278
Release Information

Consumer Impact
deprecated and existing model operation. model.list still works but (1) has a deprecation warning message & returns an updated response object that is not compatible with current/previous one.
Testing
all existing tests pass. no regression

Beautiful 🚀 We should change this in the wash CLI as well

so what should be the order of operations? I tried opening a PR for the wash-cli change but then I saw that wash-cli/wash-lib is using wadm v0.11. so , I am guessing we merge this and then update the wash-cli side once it updgrades its wadm version dependency.
if we merge this without making any changes in wash-cli then


cordova platform 7.x problems

hello,
I'm trying to make the test project work (cordova-plugin-hello-c) with<EMAIL_ADDRESS>but I get this error:

cordova run android
cp: copyFileSync: could not write to dest file (code=ENOENT):/home/xxx/workspace/cordova-wrapper-c/platforms/android/res/xml/config.xml

Error: Unhandled error. (Parsing /home/xxx/workspace/cordova-wrapper-c/platforms/android/res/xml/config.xml failed)
I think the problem is that this plugin does not support<EMAIL_ADDRESS>How can I integrate it into my project with<EMAIL_ADDRESS>

Should now be fixed to work with cordova-android@7 (Android Studio 3) project structure

Thank you so much! now works with cordova-android@7!


PHPUnit 7 support

Releases ~ Feb 2.

bump

The bulk of work here is already done over at eloquent/phony#php71-minimum. Since PHPUnit 7 no longer supports PHP 7.0, I'm working on a new major version of Phony's core that does the same.

Here's what's left to do before I can roll out this feature:

Documentation updates, including any API and usage example changes.
Making a branch of phony-phpunit that uses phony@php71-minimum, updating the APIs to match upstream changes, updating CI configs, etc. etc.
Addressing any problems found by integrating the 2 repos in step 2.
Ideally, trying out the changes on some real-world test suites.
Releasing - change logs, tagging, waiting for builds, rinse, repeat.

Sorry it's taking a while, I've just been especially busy with real-world work, moving house etc. I will try to push this out over the next week or so. In the mean time, I opened a PR for the core changes so that they're open for discussion:  eloquent/phony#235

@enumag This is in master now, and I have a 4.0.x-dev branch alias set up, so you should be able to try it out with an "eloquent/phony-phpunit": "^4" constraint.
At least, I think so. I haven't used branch aliases much 😅

@ezzatron I just tried. it works just fine, good job!

Released in 4.0.0.


WIP: [DEM-1495] Create workflow file

Coverage remained the same at 100.0% when pulling 5f67634b52e4ba80cdbaff16014de7241125070d on feature/DEM-1495/nightly-build-sdk into 0ae095eff6490ea65dbc678eaf4b497a49d67c9a on dev.


feat(tutorial): complete step 5 - Hursley

PR for step 5 of Carbon tutorial

:+1: Looks good! I've recorded your completion of this step. Make sure you do the 'wrapping up' step to ensure you get your swag!


(post comments) Transfer of mainframe file to HDFS blog

Hello Ram,
While trying to FTP the file using the SerDe, I am getting the following error.
Error: Could not find or load main class jar.home.qshhtm3.data.CobolSerde.jar
Regards,

Hi , First I would like to Thank you , that this topic is very helpful to me , and may i know that program
"jar CobolSerde.jar to transform

Hi Ram,
I already have cobol files & copybook available on HDFS and i tried to load the data into Hive tables as suggested by you. When i describe the table its showing all the fields, but when i tried to query it always fetches zero records. Can you please let me know how to get rid of this issue?

@MuraliKandimalla First please check the input file size on the hdfs. If the file size is non zero, u should be able to view it. If there is still an issue, please share the create ddl used, describe table output and file size. I will debug further

Hi Ram,
Do this code handles Delimited files(Binary Format) instead of files with FB & VB?


Allow symfony console 2.8

I haven't tested this, but I'd like to try to get this in Magento2.2, which only supports ~2.3. But 2.8 usually shouldn't have any big BC breaks with 3

Thanks! I just made a test locally and everything seems good! 👏


html-minifier causes React to throw reconciliation errors.

The HTML minifier is not aligned with React rendering because it does things such as :

Stripping whitespaces inside of elements, this is very good but if you don't manually strip the string yourself React will complain since it will render it with the whitespaces on the client.
Deleting the ; at the end on inline style-tags. Unfortunately, this is React's default behavior to put a ; at the end of inline style tags even if it's not necessary so it causes conflics.

I don't know about other differences between the react rendering and the html-minifier, but we should search for them and make sure it doesn't cause problems in the future.
I guess, the html-minifier should simply not do anything except removing whitespaces between tags.

Indeed, concerning the inlined styles, this should be treated here: https://github.com/facebook/react/blob/master/src/renderers/dom/shared/CSSPropertyOperations.js#L172

Should I put an issue on React or html-minifier ? Not sure which one will listen 😄

I'm doing it right now. I'll reference our issue in FB's repo.

I've also referenced this issue on html-minifier as it should not alter inline styles when minifyCss is set to false.

I will make a commit where I comment the code responsible of making the minification happen for now. So we can keep on iterating the demo without having bugs.

From my understanding, this has been fixed in both react and html-minifier.
I will do what is necessary to re-enable html minification in the develop branch and make sure it doesn't cause bugs anymore.


Added two new small areas to maintenence

About the PR
Added two new small areas to maintenance personally I think maintenance needs something more other than just hallways and I guess this is kind of two small maintenance areas to a small space station
Screenshots

Changelog

:cl: Seth

add: Added two new maintenance areas

https://hackmd.io/@ss14/mapping-guide
How to fix roundstart atmos after making changes to the map
fixgridatmos 1 Where “1” is the grid ID. This clears out all the air.
You’re done! You can now save the map.

Pretty sure this is g2g.

If I may, I think firelocks should be added to those new doors, if only because it doesn't really make a lot of sense (to me at least) as to why there'd be a bypass for the existing firelocks placed directly next to them. Then again, I might do that myself if you just want to merge it, since I feel like these rooms need more than just a table and a locker to justify their existence.
Personally, if I were doing this, I would make them sort of like the break rooms in the sewer areas in the Final Fantasy 7 remake, but that's just me.

If I may, I think firelocks should be added to those new doors, if only because it doesn't really make a lot of sense (to me at least) as to why there'd be a bypass for the existing firelocks placed directly next to them. Then again, I might do that myself if you just want to merge it, since I feel like these rooms need more than just a table and a locker to justify their existence.
Personally, if I were doing this, I would make them sort of like the break rooms in the sewer areas in the Final Fantasy 7 remake, but that's just me.

Sure I can add firelocks into the doors when it comes to it having more stuff part of the purpose of this at least why I made it just to add some extra rooms antags can do secret stuff in an such it isn't a special place just maintenance You got any recommendations on what can be on those rooms the lockers could have a small chance of dropping each type tool like a 0.1 prob chance per tool

Here's a couple of examples of what I mean, based off the rooms you made there. The first one is now an electrical storage closet that can easily be used to hide a body, or something else, while also looking like it has a purpose. The second one is a storage area for cargo with a steel sheet crate in it (the other one is empty). I think this gives these small storage areas a bit more character.

Here's a couple of examples of what I mean, based off the rooms you made there. The first one is now an electrical storage closet that can easily be used to hide a body, or something else, while also looking like it has a purpose. The second one is a storage area for cargo with a steel sheet crate in it (the other one is empty). I think this gives these small storage areas a bit more character.

If you want to add that over mine on the same location I don't really mind but I don't feel like remaking it


Update README.md

What's the benefit of this change?

Looks like Hacktoberfest spam. Should be closed and labelled with a "Spam" label so that it doesn't count towards their free tee shirt.


Check GlobalData Instance after google logging

Since GlobalData::Instance() access google logging before initialization, following warning printed to STDERR

To prevent this, it is desirable to move the CHECK_NULL after glog initialization unless the warning is intentional.

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

Dup with https://github.com/ApolloAuto/apollo/pull/9258


llvmPackages_19: 19.1.0 -> 19.1.1

Things done
https://github.com/llvm/llvm-project/releases/tag/llvmorg-19.1.1
From 12 minutes ago, will change from draft once things finish.

Built on platform(s)

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

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] 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/)
24.11 Release Notes (or backporting 23.11 and 24.05 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.

Add a :+1: reaction to pull requests you find important.

Yippee, everything built in a nixpkgs-review.


Bagetter Delete Package

Hi,
Can you please help me with the command for deleting a nupkg package from Bagetter through Command line.
I tried the below command and it throws: The remote server returned an error: (404) Not Found..
"C:\Nuget.exe" delete package_name 1.1.1 -s http://localhost/BagetterSource/v3/index.json
Also, i tried adding ApiKey in the command and it results the same error.
Kindly help me with the command to delete the package. Thanks

As a test, I pushed coverlet.collector.6.0.2.nupkg to my BaGetter.
Then I deleted it using the following command:
nuget delete coverlet.collector 6.0.2 -Source https://localhost/v3/index.json
You are using -s to set the source, which only works for the dotnet nuget cli. When using nuget.exe, you need -Source or -src.
To use -s, you need to call dotnet nuget delete....


Support<EMAIL_ADDRESS>

I've manually updated cordova-plugin-add-swift-support to latest version (2.0.2 at present time) in order to avoid the following error:
Using “requireCordovaModule” to load non-cordova module “glob” is not supported

However now running cordova plugin add pushy-cordova will report that 1.7.2 is required as per plugin.xml version lock.
Is the upgrade possible?
Thank you.

Hi @saxxi,
Thanks so much for your report.
We've just updated the cordova-plugin-add-swift-support to version 2.0.2 as per your recommendation and published version 1.0.27 to npm.
Please update as follows:
cordova plugin add<EMAIL_ADDRESS>
Then, rebuild your project and check if the issue is resolved.

Hi @saxxi,
Thanks so much for your report.
We've just updated the cordova-plugin-add-swift-support to version 2.0.2 in https://github.com/pushy-me/pushy-cordova/commit/3e72d62656f34aec694d3c16085b2dc795a69de8 as per your recommendation and published version 1.0.27 to npm.
Please update as follows:
cordova plugin add<EMAIL_ADDRESS>
Then, rebuild your project and check if the issue is resolved.


Docker build in kompose convert

kompose convert provides nice utility for converting docker-compose resources to kubenetes resources. However while leveraging on it if compose file has build: tag, so converting those resources to kubernates resources wont help much in our case as another system expects docker image do exists in respective registry prior bringing kubenetes deployment up and running.
It would be great if we can add optional flag in kompose convert -bso on presence of it kompose  can build docker images, push it to respective registry and the execute conversation process as a whole.
As of now I can see this functionality is available in kompose up command but we don't want to spin up the pods/containers.

@hrishin , try this kompose convert --build=local, I forgot to mention it earlier, sorry about that

Hi @hrishin !
Feel free to view the discussion here: https://github.com/kubernetes-incubator/kompose/pull/521 on why build/push wasn't added to convert :+1:

@cdrage , but I can see --build flag as well when I do kompose convert -h

@surajnarwade Woops, let me clarify, As to why build/push wasn't enabled by default when added to convert :+1:

@cdrage  @surajnarwade
Thanks!
So are we going to release this feature in next release?

@hrishin Yup! We just graduated (hence why we're in Kubernetes land now) and haven't made the announcement yet, but we will be coinciding the graduation blog post with a 1.0.0 release!

@cdrage @hrishin i think we can close this issue

@surajnarwade Once 1.0.0 is out the issue is solved and we can close this.

@hrishin can you verify with the latest release that your issue is solved?

Yes its resolved now, thanks! :+1:


Short solution needed: "Execute query from file" (clickhouse)

Please help us write most modern and shortest code solution for this issue:
Execute query from file (technology: clickhouse)
Fast way
Just write the code solution in the comments.
Prefered way

Create pull request with a new code file inside inbox folder.
Don't forget to use comments to make solution explained.
Link to this issue in comments of pull request.

How to execute SQL query from file


Add Travis CI configuration

Configure testing through Travis CI, ideally on several Linux distros. Enhance and use ./scripts/build_and_test.sh as the basis for automated testing. Follow the ./docs/how_to_build_it.md instructions for installing prereqs and dependencies.

Basic test of build and some tests complete.


Update the core commands to match the latest IRI 1.8.1 release

The core commands implement the API endpoints which are provided by IRI and are contained in the StrictIota class. I compared the current implementation with the latest IRI 1.8.1 release (https://github.com/iotaledger/iri/blob/v1.8.1-RELEASE/src/main/java/com/iota/iri/service/API.java). The following changes are needed to get StrictIota up to date.
Missing commands:

getNodeAPIConfiguration: This will be needed for #138
getMissingTransactions

Missing parameters:

getBalances: tips is missing as an optional parameter. references is new in the response and could be added to the response filter.
getTransactionsToApprove: references is missing as an optional parameter.

Changed fields in the response:

getBalances: milestone (type: Address) get removed and milestoneIndex (type: int)  got added to the response. Shall we remove milestone? Or keep both to ensure backwards compatibility?

Fields that I would add to the response filter because without these values in the response the API call is useless:

wereAddressesSpentFrom:  states
checkConsistency: state

Furthermore for all commands :

In the source code are references to https://iota.readme.io/docs/  As this website is not used anymore this should be updated to respective references in the official docs https://docs.iota.org/docs/node-software/0.1/iri/references/api-reference

Let me know what you think. I planning to implement this myself and I will open a pull request soon.

Wow, this is amazing!  😻 Thanks @pdecol !

The IRI team needs this issue fixed for our regression tests.


exposing streams

this exposes CFStreams and their underlying socket handles for inspection

is there a reason the permissions seemed to have changed on the WebSocket.swift file?


Implementation of binlog::misc::my_{datetime/time}_packed_from_binary functions do not match MySql implementation

We are trying to read json opaque values for temporal types from the binlog, and discovered the binlog::misc::* functions which are meant to read the binary into i64, do not return correct result. After looking into the MySql source code for the same operation, it turned out the binlog::misc::* functions implementation is different from MySql, though the functions binlog::misc::{datetime_from_packed, time_from_packed} do match the MySql implementation.
All worked, after we replaced the binlog::misc::{my_datetime_packed_from_binary, my_time_packed_from_binary} with a simple code which matches the MySql implementation.
Here is the MySql source code GitHub URL:
https://github.com/mysql/mysql-server/blob/mysql-8.0.39/sql-common/json_dom.cc#L721

Hi.
my_datetime_packed_from_binary and my_time_packed_from_binary are for reading on-disk binary representation (see here and here). They are used to read binlog values of types MYSQL_TYPE_DATETIME2 and MYSQL_TYPE_TIME2.

Thai you, @blackbeam

@vassili-zarouba, you may find #147 useful (see the docstring here)


Added booking date to booking card

Close #189

I added the booking date to booking card.LiveURL: https://kiwicomsmart-faq-yuuqywonia.now.sh

with this https://github.com/kiwicom/smart-faq/pull/231 merged we can close this PR


Bugfix/managed dll building

I plan to add more feedback long term, but this was the basics to get it building in xamarin. I also want to add a project for 4x support, thus the new default library folder Unity5xAssemblies

I don't understand why needs this.
Can you pass the variable to msbuild from outer ci?


Develop

Added a warning when try to click on "Open List" on the send form page.

Add a warning for "show list" button when not synced in send form


[REQUEST] Remove the requirement to install Windows 10 Assessment and Deployment Kit (ADK)

Is your feature request related to a problem? Please describe.
Yes. Since version <IP_ADDRESS> of this project, unless I install Windows 10 Assessment and Deployment Kit (ADK) prior to running the "Start-Optimize.ps1" script, I get this [Bug] https://github.com/DrEmpiricism/Optimize-Offline/issues/157.
There are others on a mydigitallife thread dedicated to this script who report having problems identical to [Bug] https://github.com/DrEmpiricism/Optimize-Offline/issues/157 and also install ADK as the working "solution." For example, here is a recent (17 Feb 20) mydigitallife post describing an issue identical [Bug] https://github.com/DrEmpiricism/Optimize-Offline/issues/157. In the next post, the person claims success after using the ADK "solution"
Describe the solution you'd like
Please allow this project to function independently of any "third-party" requirements.
The last version I used prior to trying <IP_ADDRESS> that I know was free of any "Windows ADK requirement" was Optimize-Offline <IP_ADDRESS>.
Describe alternatives you've considered
I move the recent versions of the Optimize-Offline package and the source WIM to a virtual machine dedicated to Microsoft Deployment Toolkit which has ADK installed. Then I successfully run the "Start-Optimize.ps1" script. Not an ideal solution for my use-case.
Additional context
Other context and screenshots are shown in the above [Bug] link(s).

There is no requirement for having an ADK installed. It simply checks if the ADK is installed and uses its Dism executable for commands the PowerShell Dism cmdlet does not support. If an ADK is not detected, however, it uses the system Dism executable located in the 'Windows\System32' directory.

Thanks Doc! That change to Offline-Resources.psm1 did the trick!


Digi ZTE H3600 AND H3600P admin password ??

Please help to acces admin for full acces for use wan and qos for h3600 and 3600p i dont have pc i want send backup and give me the login admin and password thanks

fagmixy how?


chore: upgrade rusty_v8 to 0.98.1

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 81.53%. Comparing base (0c7f83e) to head (5bfabdb).
Report is 61 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #825      +/-   ##
==========================================
+ Coverage   81.43%   81.53%   +0.09%
==========================================
  Files          97       98       +1
  Lines       23877    24324     +447
==========================================
+ Hits        19445    19833     +388
- Misses       4432     4491      +59

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


Beeware tutorial breaks on linux

Is your feature request related to a problem? Please describe.
I'm on linux. When I went through the beware tutorial I got stuck for a bit because I didn't have the prerequisite system packages for toga (cairo, etc). This is mentioned in the toga tutorial but not in the beeware tutorial. I had to do some googling to find which packages I needed because there was no mention of this detail in the beeware tutorial.
Describe the solution you'd like
The beeware tutorial should "just work" ie if I'm following the instructions and using toga, it should mention that I need some system packages to complete the tutorial.
Describe alternatives you've considered
The beeware tutorial could potentially ignore the existence of other GUI toolkits and just push users to use toga. This way it would be more reasonable to put toga-specific instructions in the tutorial.

The BeeWare tutorial does mention pre-requisites, in the Install dependencies section. This includes (amongst many others) the Cairo dependency:

I see it now! Thanks!


Symbolset font content incorrectly escaped

I use the symbolset ss-pika in several projects and when trying to use webpack with the css-loader the resulting CSS string breaks and I end up with two scrambled characters (��) instead of my search icon (🔎).
This happens when you have UTF-16 characters like 🔎 (escapes properly to \1F50E) which becomes a surrogate pair when trying to escape it in Javascript.
I've been attempting to fix this using the cssesc module:
var cssesc = require("cssesc");

function escape(str, stringType) {
    return cssesc(str, {
        quotes: stringType === "'" ? "single" : "double"
    });
}

The tests break though, cause assert.deepAssert creates a surrogate pair when comparing the parseValues result of the file test-cases-values.js.
However, if I rollback css-loader to 0.14.5 (webpack/css-loader@51e11f3588c8bde66c5cd6b6d7b9bbbdeda671c4) then this is no longer an issue as the CSS isn't escaped.
Not escaping the content might be a more sane option?
Related reading:
https://mathiasbynens.be/notes/javascript-encoding
https://mathiasbynens.be/notes/css-escapes

Gonna ping @sokra on this one. I know we wanted to escape special characters in CSS class names, so hopefully we can do that without breaking multi-byte unicode chars too. Thanks for bringing this up & providing so much detail :+1:


Conflicting platform dependencies still not resolving.

Re #5340 closed as fixed in 1.14.2, I'm still getting the same error.
I seem to still be getting this error with Bundler 1.14.2 and JRuby (ruby-concurrency/thread_safe#29)
Environment
Bundler   1.14.2
Rubygems  2.6.8
Ruby      2.3.1p0 (2016-11-09 revision 54768) [java]
GEM_HOME  /Users/nomoon/.rvm/gems/jruby-<IP_ADDRESS>@thread_safe
GEM_PATH  /Users/nomoon/.rvm/gems/jruby-<IP_ADDRESS>@thread_safe:/Users/nomoon/.rvm/gems/jruby-<IP_ADDRESS>@global
RVM       1.28.0 (latest)
Git       2.11.0
Platform  universal-java-1.8
rubygems-bundler (1.4.4)

Bundler settings
build.eventmachine
  Set for the current user (/Users/nomoon/.bundle/config): "--with-cppflags=-I/usr/local/opt/openssl/include"
gem.test
  Set for the current user (/Users/nomoon/.bundle/config): "rspec"
gem.coc
  Set for the current user (/Users/nomoon/.bundle/config): "true"
gem.mit
  Set for the current user (/Users/nomoon/.bundle/config): "true"
local.readthis
  Set for the current user (/Users/nomoon/.bundle/config): "/Users/nomoon/LocalDev/readthis"
force_ruby_platform
  Set for the current user (/Users/nomoon/.bundle/config): "false"

Gemfile
Gemfile
source 'https://rubygems.org'

gemspec

group :development, :test do
  gem 'rspec', '~> 3.2.0'
  gem 'simplecov', '~> 0.9.2', :require => false
  if Gem::Version.new(RUBY_VERSION) < Gem::Version.new('2.0.0')
    gem 'term-ansicolor', '~> 1.3.2', :require => false
    gem 'tins', '~> 1.6.0', :require => false
  end
  gem 'coveralls', '~> 0.7.11', :require => false
end

group :documentation do
  gem 'countloc', '~> 0.4.0', :platforms => :mri, :require => false
  gem 'yard', '~> <IP_ADDRESS>', :require => false
  gem 'inch', '~> 0.5.10', :platforms => :mri, :require => false
  gem 'redcarpet', '~> 3.2.2', platforms: :mri # understands github markdown
end

Gemfile.lock
PATH
  remote: .
  specs:
    thread_safe (0.3.5-java)

GEM
  remote: https://rubygems.org/
  specs:
    atomic (1.1.16-java)
    coveralls (0.7.12)
      multi_json (~> 1.10)
      rest-client (>= 1.6.8, < 2)
      simplecov (~> 0.9.1)
      term-ansicolor (~> 1.3)
      thor (~> 0.19.1)
    diff-lcs (1.3)
    docile (1.1.5)
    domain_name (0.5.20161129)
      unf (>= 0.0.5, < 1.0.0)
    http-cookie (1.0.3)
      domain_name (~> 0.5)
    mime-types (2.99.3)
    multi_json (1.12.1)
    netrc (0.11.0)
    rake (11.3.0)
    rest-client (1.8.0)
      http-cookie (>= 1.0.2, < 2.0)
      mime-types (>= 1.16, < 3.0)
      netrc (~> 0.7)
    rspec (3.2.0)
      rspec-core (~> 3.2.0)
      rspec-expectations (~> 3.2.0)
      rspec-mocks (~> 3.2.0)
    rspec-core (3.2.3)
      rspec-support (~> 3.2.0)
    rspec-expectations (3.2.1)
      diff-lcs (>= 1.2.0, < 2.0)
      rspec-support (~> 3.2.0)
    rspec-mocks (3.2.1)
      diff-lcs (>= 1.2.0, < 2.0)
      rspec-support (~> 3.2.0)
    rspec-support (3.2.2)
    simplecov (0.9.2)
      docile (~> 1.1.0)
      multi_json (~> 1.0)
      simplecov-html (~> 0.9.0)
    simplecov-html (0.9.0)
    term-ansicolor (1.4.0)
      tins (~> 1.0)
    thor (0.19.4)
    tins (1.13.0)
    unf (0.1.4-java)
    yard (<IP_ADDRESS>)

PLATFORMS
  java

DEPENDENCIES
  atomic (= 1.1.16)
  countloc (~> 0.4.0)
  coveralls (~> 0.7.11)
  inch (~> 0.5.10)
  rake (< 12.0)
  redcarpet (~> 3.2.2)
  rspec (~> 3.2.0)
  simplecov (~> 0.9.2)
  thread_safe!
  yard (~> <IP_ADDRESS>)

BUNDLED WITH
   1.14.2

Gemspecs
thread_safe.gemspec
# -*- encoding: utf-8 -*-
$:.push File.expand_path('../lib', __FILE__) unless $:.include?('lib')
require 'thread_safe/version'

Gem::Specification.new do |gem|
  gem.authors       = ["Charles Oliver Nutter", "thedarkone"]
  gem.email         =<EMAIL_ADDRESS><EMAIL_ADDRESS>  gem.summary       = %q{Thread-safe collections and utilities for Ruby}
  gem.description   = %q{A collection of data structures and utilities to make thread-safe programming in Ruby easier}
  gem.homepage      = "https://github.com/ruby-concurrency/thread_safe"

  gem.files         = `git ls-files`.split($\)
  gem.files        += ['lib/thread_safe/jruby_cache_backend.jar'] if defined?(JRUBY_VERSION)
  gem.files        -= ['.gitignore'] # see https://github.com/headius/thread_safe/issues/40#issuecomment-42315441
  gem.platform      = 'java' if defined?(JRUBY_VERSION)
  gem.executables   = gem.files.grep(%r{^bin/}).map{ |f| File.basename(f) }
  gem.test_files    = gem.files.grep(%r{^(test|spec|features)/})
  gem.name          = "thread_safe"
  gem.require_paths = ["lib"]
  gem.version       = ThreadSafe::VERSION
  gem.license       = "Apache-2.0"

  gem.add_development_dependency 'atomic', '= 1.1.16'
  gem.add_development_dependency 'rake', '< 12.0'
  gem.add_development_dependency 'rspec', '~> 3.2'
end

$ bundle install
The dependency countloc (~> 0.4.0) will be unused by any of the platforms Bundler is installing for. Bundler is installing for java but the dependency is only for ruby. To add those platforms to the bundle, run `bundle lock --add-platform mri`.
The dependency inch (~> 0.5.10) will be unused by any of the platforms Bundler is installing for. Bundler is installing for java but the dependency is only for ruby. To add those platforms to the bundle, run `bundle lock --add-platform mri`.
The dependency redcarpet (~> 3.2.2) will be unused by any of the platforms Bundler is installing for. Bundler is installing for java but the dependency is only for ruby. To add those platforms to the bundle, run `bundle lock --add-platform mri`.
Fetching gem metadata from https://rubygems.org/........
Fetching version metadata from https://rubygems.org/.
Resolving dependencies...
Installing rake 11.3.0
Installing atomic 1.1.16 (java)
Installing multi_json 1.12.1
Installing unf 0.1.4 (java)
Installing mime-types 2.99.3
Installing netrc 0.11.0
Installing docile 1.1.5
Installing simplecov-html 0.9.0
Installing tins 1.13.0
Installing thor 0.19.4
Installing diff-lcs 1.3
Installing rspec-support 3.2.2
Using thread_safe 0.3.5 (java) from source at `.`
Installing yard <IP_ADDRESS>
Using bundler 1.14.2
Installing domain_name 0.5.20161129
Installing simplecov 0.9.2
Installing term-ansicolor 1.4.0
Installing rspec-core 3.2.3
Installing rspec-expectations 3.2.1
Installing rspec-mocks 3.2.1
Installing http-cookie 1.0.3
Installing rspec 3.2.0
Installing rest-client 1.8.0
Installing coveralls 0.7.12
Bundle complete! 10 Gemfile dependencies, 25 gems now installed.
Use `bundle show [gemname]` to see where a bundled gem is installed.

$ bundle exec rake -T
Bundler could not find compatible versions for gem "unf":
  In snapshot (Gemfile.lock):
    unf (= 0.1.4) java

  In Gemfile:
    coveralls (~> 0.7.11) java was resolved to 0.7.12, which depends on
      rest-client (< 2, >= 1.6.8) java was resolved to 1.8.0, which depends on
        http-cookie (< 2.0, >= 1.0.2) java was resolved to 1.0.3, which depends on
          domain_name (~> 0.5) java was resolved to 0.5.20161129, which depends on
            unf (< 1.0.0, >= 0.0.5) java

    coveralls (~> 0.7.11) java was resolved to 0.7.12, which depends on
      rest-client (< 2, >= 1.6.8) java was resolved to 1.8.0, which depends on
        http-cookie (< 2.0, >= 1.0.2) java was resolved to 1.0.3, which depends on
          domain_name (~> 0.5) java was resolved to 0.5.20161129, which depends on
            unf (< 1.0.0, >= 0.0.5)

Running `bundle update` will rebuild your snapshot from scratch, using only
the gems in your Gemfile, which may resolve the conflict.

If I revert to Bundler 1.13.7, everything works as expected.

I also confirm this is failing:
/tmp/bundler_test % ruby -v
jruby 1.7.25 (1.9.3p551) 2016-04-13 867cb81 on Java HotSpot(TM) 64-Bit Server VM 1.8.0_111-b14 +jit [darwin-x86_64]
/tmp/bundler_test % bundler -v
Bundler version 1.14.2
/tmp/bundler_test % ls
Gemfile     bundler.gemspec
/tmp/bundler_test % cat Gemfile
gemspec
/tmp/bundler_test % cat bundler.gemspec
Gem::Specification.new do |s|

  s.name            = 'bundler_spec'
  s.version         = '0.0.1'
  s.licenses        = ['Apache License (2.0)']
  s.summary         = ""
  s.description     = ""
  s.authors         = [""]
  s.email           = ''
  s.homepage        = ""
  s.require_paths = [""]

  s.add_runtime_dependency "http_parser.rb"
  s.add_development_dependency "rake"
end

/tmp/bundler_test % bundle install
Resolving dependencies...
Using rake 12.0.0
Using http_parser.rb 0.6.0 (java)
Using bundler 1.14.2
Using bundler_spec 0.0.1 from source at `.`
Bundle complete! 2 Gemfile dependencies, 4 gems now installed.
Use `bundle show [gemname]` to see where a bundled gem is installed.
j/tmp/bundler_test % bundle install
Resolving dependencies...
Your Gemfile has no gem server sources. If you need gems that are not already on
your machine, add a line like this to your Gemfile:
source 'https://rubygems.org'
Bundler could not find compatible versions for gem "http_parser.rb":
  In snapshot (Gemfile.lock):
    http_parser.rb (= 0.6.0) java

  In Gemfile:
    bundler_spec java was resolved to 0.0.1, which depends on
      http_parser.rb java

    bundler_spec java was resolved to 0.0.1, which depends on
      http_parser.rb

Running `bundle update` will rebuild your snapshot from scratch, using only
the gems in your Gemfile, which may resolve the conflict.

I'm also getting this with nokogiri:
Bundler could not find compatible versions for gem "nokogiri":
  In snapshot (Gemfile.lock):
    nokogiri (= <IP_ADDRESS>) java
  In Gemfile:
    simple_solr_client java was resolved to 0.1.2, which depends on
      nokogiri java
    simple_solr_client java was resolved to 0.1.2, which depends on
      nokogiri

If anyone is interested in running a git bisect, that might make it clearer what caused the regression -- I don't know when I'll be able to look into the issue myself.

The result of my bisect points to 4233b7329e2cfd15f907d9abc69940330fbb1b00
see gist for full run and files used: https://gist.github.com/jsvd/4e0e66b666600a67bc0077df2e913e46

Thanks! That gives me some idea of what the problem is (the resolver not having context around what all of the available platforms of locked specs are)

This seems to fix at least one of the reproduction cases, going to run against the bundler tests suite to see if it causes any regressions. Verifying if it also fixes the issue for you would also be very helpful
diff --git a/lib/bundler/definition.rb b/lib/bundler/definition.rb
index 15383a22c..934e12689 100644
--- a/lib/bundler/definition.rb
+++ b/lib/bundler/definition.rb
@@ -691,7 +691,7 @@ module Bundler
<EMAIL_ADDRESS>{|p| Dependency::REVERSE_PLATFORM_MAP[p] }.flatten(1)).uniq!
         end
       end
-      Set.new(@dependencies) != Set.new(@locked_deps)
+<EMAIL_ADDRESS>{|d| Gem::Dependency.new(d.name, *d.requirement.as_list)}) !=<EMAIL_ADDRESS>{|d| Gem::Dependency.new(d.name, *d.requirement.as_list)})
     end

     # Remove elements from the locked specs that are expired. This will most

Seems like the real resolver fix is the following:
diff --git a/lib/bundler/resolver.rb b/lib/bundler/resolver.rb
index 2eff76d..2cd5720 100644
--- a/lib/bundler/resolver.rb
+++ b/lib/bundler/resolver.rb
@@ -308,7 +308,9 @@ module Bundler

     def requirement_satisfied_by?(requirement, activated, spec)
       return false unless requirement.matches_spec?(spec) || spec.source.is_a?(Source::Gemspec)
-      spec.activate_platform!(requirement.__platform) || spec.for?(requirement.__platform)
+      # spec.activate_platform!(requirement.__platform) if Bundler.definition.platforms.include?(requirement.__platform)
+      spec.activate_platform!(requirement.__platform) if Bundler.definition.platforms.include?(requirement.__platform)
+      true
     end

     def sort_dependencies(dependencies, activated, conflicts)

https://github.com/bundler/bundler/pull/5355 should be the real fix for this issue, if y'all want to try it out

@segiddins Seems to be working for me.

I confirm https://github.com/bundler/bundler/pull/5355 also works for me 👍


Translation-pt-br

Hi.
What would be the best way to start the translation?
Thanks.

Hello.
All text resources are collected here:
https://github.com/BeamMW/android-wallet/blob/master/app/src/main/res/values/strings.xml
So, to translate app into other language you need to create additional resource folder with the same file (like above) inside. The explanation is here:
https://developer.android.com/training/basics/supporting-devices/languages
Then you should change all values (not keys) in your new file according language you want to implement. For example:
was:
Wallet
become:
Billetera
Then just build and run the app. New language will be automatically applied if you mobile phone has it installed like currently using.

Thanks @vain-onnellinen I will translate. Thanks.

Finally PR sent: https://github.com/BeamMW/android-wallet/pull/199
Thanks again.


error: invalid token. I want to send a push notification to multiple users

response = PushClient().publish(
PushMessage(
to=["ExponentPushToken[xxxxxxxxxxxxxxxxxx]","ExponentPushToken[xxxxxxxxxxxxxxxxxx]"],
title=title,
body=message,
data=data
)
)

There's a publish_multiple function you can use.
Create multiple PushMessage objects and then pass that in


Code generation with GYB

What's in this pull request?
Generates definitions of zip and map for arities up to 22 (configurable in .gyb template with max_arity).
Why merge this pull request?
Allows changing the arity of map and zip functions without duplicating any code. The primitive footprint for the API is also reduced with all zip functions based on zip(_:_:). There are now nine fewer functions that call the low level Gen(unGen:) initializer.
What's worth discussing about this pull request?
We might want other derived functions like ap generated to max_arity number of definitions.
What downsides are there to merging this pull request?
The downside of generated code, which is that it's mechanized instead of an abstraction through code. It's harder to develop a template than regular code since there's a level of indirection when debugging.

This is so cool!  I want to merge this, but how does this impact our build with the Swift Package Manager?

The podspec build needs a prepare_command field, the xcodebuild one needs a run-script phase, but SPM doesn't support external commands yet.

I can work on fixing the builds later. I also wanted to move the primitive zip(_:_:) back to Gen.swift since I think keeping primitives together makes sense and tidy up documentation.
But on SPM, will this not get merged until external commands are supported?

It will break the Linux build, which isn't that strong anyways.  I'm OK with merging this and temporarily removing support.

One thing we could do is just commit the generated files. Maybe use travis to confirm that they're up to date. It would create noisier diffs but might be worth it until SPM supports custom build scripts. Maybe make the generated swift a separate module. I don't know how important linux support is for you.

That sounds like a plan.  Can you add a run script phase that'll do that to the project and commit everything under /Sources.

Sure thing. I'll have time tomorrow evening to wrap this up.

Sorry for not having gotten to this yet. Been pretty busy the last week but I'll dedicate some time tomorrow to wrap this up.

@adamkuipers What is the status of this PR/branch?

I'm shuttering this for now.  Please reopen it if you wish to continue this.


[Feature Request] Buying hosting without the need to buy domain.

What's this for? You already can bring your own domain.


Youtube-dl no longer downloads from xHamster

Checklist

[x] I'm reporting a broken site support
[x] I've verified that I'm running youtube-dl version 2020.07.28
[x] I've checked that all provided URLs are alive and playable in a browser
[x] I've checked that all URLs and arguments with special characters are properly quoted or escaped
[x] I've searched the bugtracker for similar issues including closed ones

Verbose log

PASTE VERBOSE LOG HERE

C:\Users\S\Downloads\Youtube-dl>youtube-dl -v https://xhamster.com/videos/henry-
and-june-1990-english-xhOK2Wv
[debug] System config: []
[debug] User config: []
[debug] Custom config: []
[debug] Command-line args: ['-v', 'https://xhamster.com/videos/henry-and-june-19
90-english-xhOK2Wv']
[debug] Encodings: locale cp1252, fs mbcs, out cp437, pref cp1252
[debug] youtube-dl version 2020.07.28
[debug] Python version 3.4.4 (CPython) - Windows-8.1-6.3.9600
[debug] exe versions: ffmpeg git-2020-07-29-cbb6ba2, ffprobe git-2020-07-29-cbb6
ba2
[debug] Proxy map: {}
[XHamster] 1990: Downloading webpage
ERROR: No video formats found; please report this issue on https://yt-dl.org/bug
 . Make sure you are using the latest version; type  youtube-dl -U  to update. B
e sure to call youtube-dl with the --verbose flag and include its complete outpu
t.
Traceback (most recent call last):
  File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\ytdl-org\tmpq2whux
ta\build\youtube_dl\YoutubeDL.py", line 797, in extract_info
  File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\ytdl-org\tmpq2whux
ta\build\youtube_dl\extractor\common.py", line 530, in extract
  File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\ytdl-org\tmpq2whux
ta\build\youtube_dl\extractor\xhamster.py", line 242, in _real_extract
  File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\ytdl-org\tmpq2whux
ta\build\youtube_dl\extractor\common.py", line 1350, in _sort_formats
youtube_dl.utils.ExtractorError: No video formats found; please report this issu
e on https://yt-dl.org/bug . Make sure you are using the latest version; type  y
outube-dl -U  to update. Be sure to call youtube-dl with the --verbose flag and
include its complete output.

Description

WRITE DESCRIPTION HERE
I have used youtube-dl on my Windows 8.1 OS without a problem for several months. Approximately a week or two weeks ago it ceased working with xHamster. It still downloads flawlessly from other sites.

Duplicate of https://github.com/ytdl-org/youtube-dl/issues/26157 I think.
I can confirm that changing one line in the source code and compile it again fixes it.
Easy on Linux, but I don't know how to do that in Windows.
You will have to ask here or investigate yourself, I'm afraid...
Or wait till a fix in a new version.

Any progress to fix this issue ??

Any progress to fix this issue ??

There seems to be a solution for the Linux variant of youtube-dl, but this being the Windows variant we may have to wait until programmers release an update.

This is true, at least if you want to use the compiled EXE file.
But if you have python installed as a full version, I think it should work just like the Linux version. But I could be wrong on this point.

This is true, at least if you want to use the compiled EXE file.
But if you have python installed as a full version, I think it should work just like the Linux version. But I could be wrong on this point.
Update:
I have just installed Python on a Windows PC. After that you can actually run youtube_dl normally (see DEVELOPER INSTRUCTIONS in documentation), with the adapted changes in the extractors.

Actually building the Windows executable is not very difficult.
Found instructions here.

If you don't already have it, install Python.
In an elevated command prompt run:
 python.exe -m pip install pyinstaller
Download the youtube-dl source code: https://github.com/ytdl-org/youtube-dl/archive/master.zip
Extract to the folder youtube-dl-master.
Change line 132 in youtube-dl-master\youtube_dl\extractor\xhamster.py to:
r'window.initials\s*=\s*({.+?})\s*;\s*', webpage, 'initials',
Open a command prompt in the folder youtube-dl-master and run:
pyinstaller.exe youtube_dl\__main__.py --onefile --name youtube-dl
youtube-dl.exe can then be found in the dist subdirectory.

I replaced the official .exe file with the newly built one and downloading from xHamster worked again!


Add a @wait_for_js_expression annotation

Would take a JS expression and wait for it to evaluate to true, e.g.
@waitForJs('document.title = "hello"')
def test(driver):
    pass

Definitely.
Also should add it at the class-level (cf. the repetition required here https://github.com/hammerlab/pileup.js/pull/342/files).

Another way to implement this/make this more general at the class-level would be to accept a for_each = [fns], where each function is called which self, driver at the beginning of each test, so an arbitrary Python function is executed at each test.

This has been added in 1.0.0—still want to add class-level wait_for_js_scripts = [script, ..].


fix(api): ignore Docker login errors during stack deployment

Fix #1613

An image for this implementation is available via portainer/portainer:pr1635 (Linux amd64 build only).


File ~vue3-q-tel-input/dist/vue3-q-tel-input.esm.css doesnt exist

When importing the CSS the file vue3-q-tel-input.esm.css doesn't exist in the directory after installing with yarn

Then this error shows up even when the phone number is correct

Duplicate of https://github.com/CdTgr/vue3-q-tel-input/issues/12 but the error still persists

Should be resolved in version 1.0.23


Slightly more safe parsing of NamesAndTypesList

For changelog. Remove if this is non-significant change.
Category (leave one):

Improvement

Short description (up to few sentences):
Slightly more safe parsing of NamesAndTypesList. This fixes #6408.

No test needed.


feat(cli): allow configuration of parameters through cli

Current dependencies on/for this PR:

main

PR #165   👈

This stack of pull requests is managed by Graphite.


[BUG] In some instances class is not correctly extended.

It seems that when extending type without full qualification is not contained in the semantic tree of an extended type. We may need to use ExtendedTypeAccess to check for extending type...

/cib

Branch 149-_BUG_In_some_instances_class_is_not_correctly_extended created!


Fix danger_id and new_comment flag not working

Fix when running danger --new-comment --danger_id="id" pr <link>
the flags --new-comment and --danger_id where set to nil

Danger pr doesn't actually post comments - it's for running your local Dangerfile against a PR and shows the output in your terminal. You want danger or danger run for commenting on a PR.

Or does it just not work without those?

          1 Warning

:warning:
Tests were not updated

          1 Message

:book:
@4oby is not a contributor yet, would you like to join the Danger org?

  Generated by :no_entry_sign: Danger

It works, but does not post, danger pr is easier, IMO, to hook into our current Jenkins setup.

You should be using danger or danger run for that.
Adding the ability to run danger from CI via danger pr will make it more confusing to understand what commands to use. Can you explain why it's easier to use Danger PR?

Jenkins is setup to run on a detached head, so any attempts to run danger ends in "not a pr" message.

@4oby this message could mean that something important is missing in the environment (PR identifier, for example).
I'm using Danger on Jenkins with detached head builds, haven't had such message with properly configured environment.

Yeah, this does sound more like your Jenkins setup needs the env vars I think. The check looks like this.

 The problem was that "ghprbPullId" environment variable was not exported. I saw that this variable is exported automatically by GitHub pull request builder plugin, but we're not using this plugin because it's not compatible with our job's configuration, so we manually export this environment before running danger. And it works!
Thank you @orta and @nikolaykasyanov for your help.
@4oby I think we can close this PR.

👍


fix: transfer project not working for ALL_DEFINED and ALL

Fix for https://github.com/gitlabform/gitlabform/issues/689.
Adds logic to check for projects being transferred when the target is set to ALL or ALL_DEFINED.

Thanks for the feedback, looking into reducing duplication and adding tests.

@amimas I've refactored the code a bit to reduce duplication and added 2 more tests for group and subgroup targets. Ready for review again.

project doesn't exist and is not configured to be transferred
project doesn't exist but configured to be transferred and transfer source project is not found

Added test for "project doesn't exist but configured to be transferred and transfer source project is not found", the test__ALL_DEFINED test should cover the other case.


DataFrame column names that aren't valid SQLite3 column names?

I'm trying to query from dataframes that contain various "natural" column names (eg even as simple as names containing spaces") from found csv and excel files eg
pd.read_csv('http://www.iwight.com/documentlibrary/download/november-2013-transparency-data-csv')
and keep hitting naming convention errors:
q='''
SELECT * FROM df LIMIT 5;
'''
pysqldf(q)

---------------------------------------------------------------------------
Exception                                 Traceback (most recent call last)
<ipython-input-23-6f329a9debd3> in <module>()
      2 SELECT * FROM df LIMIT 5;
      3 '''
----> 4 pysqldf(q)

<ipython-input-5-6245773871e5> in <lambda>(q)
----> 1 pysqldf = lambda q: sqldf(q, globals())

/usr/local/lib/python3.4/dist-packages/pandasql/sqldf.py in sqldf(q, env, inmemory)
    113         df = env[table]
    114         df = _ensure_data_frame(df, table)
--> 115         _write_table(table, df, conn)
    116
    117     try:

/usr/local/lib/python3.4/dist-packages/pandasql/sqldf.py in _write_table(tablename, df, conn)
     66             msg = "please follow SQLite column naming conventions: "
     67             msg += "http://www.sqlite.org/lang_keywords.html"
---> 68             raise Exception(msg)
     69
     70     write_frame(df, name=tablename, con=conn, flavor='sqlite')

Exception: please follow SQLite column naming conventions: http://www.sqlite.org/lang_keywords.html

Is there a switch to mitigate against this?
One (probably overcomplicated) way I though of coping with this would be to:

generate a mapping from an original column name to eg a hashed colname that is guaranteed well formed for SQLIte3
used the hashed colname in the SQLite3 table
whenever a query is run, silently convert the 'raw' column name to hashed column name

I'm getting this error even with column names that shouldn't be causing problems.

it's more a pandas bug than a pandasql bug

these are not columns with dots. That's an R thing (and something no one should be doing in python anyway).

Any update on this issue? How do I ensure that column names get converted automatically and avoid this error?


Direction not supported?

Trying to set <body dir="rtl"> and it keeps the document LTR

@gazu36 Sorry, we don't yet support rtl, and definitely don't support reading dir attribute of body tag. I had attempted at rtl once in #40 . I am closing this issue in favor of that, so we have a single place to keep track of.

Any update about direction support ? @privateOmega


Add support for checking IMAP quota

Either as a separate cmd/binary or as part of the existing one.

https://github.com/emersion/go-imap/wiki/Using-extensions#using-client-extensions
https://github.com/emersion/go-imap-quota

Client doesn't support QUOTA extension: <nil>
Failed to retrieve quotas for INBOX: Command Error. 12
Command Error. 12

When testing against Office 365. That's not very promising.