OpenCL GPU support issue

System information

Have I written custom code (as opposed to using a stock example script provided in TensorFlow): no
OS Platform and Distribution (e.g., Linux Ubuntu 16.04): 18.04 LTS (Bionic Beaver)
TensorFlow installed from (source or binary): source
TensorFlow version (use command below): v1.8.0-2217-g7ad3964dcb 1.8.0
Python version: Python 3.6.5
Bazel version (if compiling from source): Build label: 0.13.1
GCC/Compiler version (if compiling from source): g++ (Ubuntu 7.3.0-16ubuntu3) 7.3.0
CUDA/cuDNN version: NA
GPU model and memory: AMD Radeon R9290
Exact command to reproduce: bazel test -c opt --config=sycl --test_output=all //tensorflow/python/kernel_tests:basic_gpu_test

Describe the problem
I built TF 1.8 from source with 'y' for OpenCL SYCL and ComputeCPP support in build configuration ('n' for other options). Build was complete successfully, but GPU device seems unavailable in TF, only CPU:0 is listed by
tensorflow.python.client.device_lib.device_lib.list_local_devices()
and
tensorflow.contrib.eager.list_devices()
Also, tensorflow.matmul(a, b) is placed on CPU:0, log_device_placement says: "Device mapping: no known devices."
bazel test -c opt --config=sycl --test_output=all //tensorflow/python/kernel_tests:basic_gpu_test
fails with errors from SYCL.
Bazel test, clinfo and computecpp_info logs are listed below.
Requirements for OpenCL GPU support seem to be met, but it doesn't work. Am I missing something?
Source code / logs
clinfo

Number of platforms                               1
Platform Name                                   AMD Accelerated Parallel Processing
Platform Vendor                                 Advanced Micro Devices, Inc.
Platform Version                                OpenCL 2.1 AMD-APP (2633.3)
Platform Profile                                FULL_PROFILE
Platform Extensions                             cl_khr_icd cl_amd_event_callback cl_amd_offline_devices
Platform Host timer resolution                  1ns
Platform Extensions function suffix             AMD
Platform Name                                   AMD Accelerated Parallel Processing
Number of devices                                 1
Device Name                                     Hawaii
Device Vendor                                   Advanced Micro Devices, Inc.
Device Vendor ID                                0x1002
Device Version                                  OpenCL 1.2 AMD-APP (2633.3)
Driver Version                                  2633.3
Device OpenCL C Version                         OpenCL C 1.2
Device Type                                     GPU
Device Board Name (AMD)                         AMD Radeon R9 200 Series
Device Topology (AMD)                           PCI-E, 01:00.0
Device Profile                                  FULL_PROFILE
Device Available                                Yes
Compiler Available                              Yes
Linker Available                                Yes
Max compute units                               40
SIMD per compute unit (AMD)                     4
SIMD width (AMD)                                16
SIMD instruction width (AMD)                    1
Max clock frequency                             947MHz
Graphics IP (AMD)                               7.2
Device Partition                                (core)
Max number of sub-devices                     40
Supported partition types                     none specified
Max work item dimensions                        3
Max work item sizes                             1024x1024x1024
Max work group size                             256
Preferred work group size (AMD)                 256
Max work group size (AMD)                       1024
Preferred work group size multiple              64
Wavefront width (AMD)                           64
Preferred / native vector sizes
char                                                 4 / 4
short                                                2 / 2
int                                                  1 / 1
long                                                 1 / 1
half                                                 1 / 1        (n/a)
float                                                1 / 1
double                                               1 / 1        (cl_khr_fp64)
Half-precision Floating-point support           (n/a)
Single-precision Floating-point support         (core)
Denormals                                     No
Infinity and NANs                             Yes
Round to nearest                              Yes
Round to zero                                 Yes
Round to infinity                             Yes
IEEE754-2008 fused multiply-add               Yes
Support is emulated in software               No
Correctly-rounded divide and sqrt operations  Yes
Double-precision Floating-point support         (cl_khr_fp64)
Denormals                                     Yes
Infinity and NANs                             Yes
Round to nearest                              Yes
Round to zero                                 Yes
Round to infinity                             Yes
IEEE754-2008 fused multiply-add               Yes
Support is emulated in software               No
Address bits                                    64, Little-Endian
Global memory size<PHONE_NUMBER> (2.301GiB)
Global free memory (AMD)                        2398160 (2.287GiB)
Global memory channels (AMD)                    16
Global memory banks per channel (AMD)           16
Global memory bank width (AMD)                  256 bytes
Error Correction support                        No
Max memory allocation<PHONE_NUMBER> (1.939GiB)
Unified memory for Host and Device              No
Minimum alignment for any data type             128 bytes
Alignment of base address                       2048 bits (256 bytes)
Global Memory cache type                        Read/Write
Global Memory cache size                        16384 (16KiB)
Global Memory cache line size                   64 bytes
Image support                                   Yes
Max number of samplers per kernel             16
Max size for 1D images from buffer            134217728 pixels
Max 1D or 2D image array size                 2048 images
Base address alignment for 2D image buffers   256 bytes
Pitch alignment for 2D image buffers          256 pixels
Max 2D image size                             16384x16384 pixels
Max 3D image size                             2048x2048x2048 pixels
Max number of read image args                 128
Max number of write image args                8
Local memory type                               Local
Local memory size                               32768 (32KiB)
Local memory syze per CU (AMD)                  65536 (64KiB)
Local memory banks (AMD)                        32
Max number of constant args                     8
Max constant buffer size<PHONE_NUMBER> (1.939GiB)
Preferred constant buffer size (AMD)            16384 (16KiB)
Max size of kernel argument                     1024
Queue properties
Out-of-order execution                        No
Profiling                                     Yes
Prefer user sync for interop                    Yes
Profiling timer resolution                      1ns
Profiling timer offset since Epoch (AMD)<PHONE_NUMBER>447623220ns (Fri May 25 10:52:30 2018)
Execution capabilities
Run OpenCL kernels                            Yes
Run native kernels                            No
Thread trace supported (AMD)                  Yes
Number of async queues (AMD)                  2
Max real-time compute queues (AMD)            0
Max real-time compute units (AMD)             0
SPIR versions                                 1.2
printf() buffer size                            4194304 (4MiB)
Built-in kernels
Device Extensions                               cl_khr_fp64 cl_amd_fp64 cl_khr_global_int32_base_atomics cl_khr_global_int32_extended_atomics cl_khr_local_int32_base_atomics cl_khr_local_int32_extended_atomics cl_khr_int64_base_atomics cl_khr_int64_extended_atomics cl_khr_3d_image_writes cl_khr_byte_addressable_store cl_khr_gl_sharing cl_amd_device_attribute_query cl_amd_vec3 cl_amd_printf cl_amd_media_ops cl_amd_media_ops2 cl_amd_popcnt cl_khr_image2d_from_buffer cl_khr_spir cl_khr_gl_event
NULL platform behavior
clGetPlatformInfo(NULL, CL_PLATFORM_NAME, ...)  No platform
clGetDeviceIDs(NULL, CL_DEVICE_TYPE_ALL, ...)   No platform
clCreateContext(NULL, ...) [default]            No platform
clCreateContext(NULL, ...) [other]              Success [AMD]
clCreateContextFromType(NULL, CL_DEVICE_TYPE_DEFAULT)  Success (1)
Platform Name                                 AMD Accelerated Parallel Processing
Device Name                                   Hawaii
clCreateContextFromType(NULL, CL_DEVICE_TYPE_CPU)  No devices found in platform
clCreateContextFromType(NULL, CL_DEVICE_TYPE_GPU)  Success (1)
Platform Name                                 AMD Accelerated Parallel Processing
Device Name                                   Hawaii
clCreateContextFromType(NULL, CL_DEVICE_TYPE_ACCELERATOR)  No devices found in platform
clCreateContextFromType(NULL, CL_DEVICE_TYPE_CUSTOM)  No devices found in platform
clCreateContextFromType(NULL, CL_DEVICE_TYPE_ALL)  Success (1)
Platform Name                                 AMD Accelerated Parallel Processing
Device Name                                   Hawaii

/usr/local/computecpp/bin/computecpp_info

ComputeCpp Info (CE 0.8.0)
Toolchain information:
GLIBC version: 2.27
GLIBCXX: 20160609
This version of libstdc++ is supported.
Device Info:
Discovered 1 devices matching:
platform    :
device type :
Device 0:
Device is supported                     : UNTESTED - Untested OS
CL_DEVICE_NAME                          : Hawaii
CL_DEVICE_VENDOR                        : Advanced Micro Devices, Inc.
CL_DRIVER_VERSION                       : 2633.3
CL_DEVICE_TYPE                          : CL_DEVICE_TYPE_GPU

bazel test -c opt --config=sycl --test_output=all //tensorflow/python/kernel_tests:basic_gpu_test

INFO: Analysed target //tensorflow/python/kernel_tests:basic_gpu_test (0 packages loaded).
INFO: Found 1 test target...
ERROR: /home/dmitry/Soft/dev/source/TensorFlow/tensorflow/tensorflow/core/BUILD:715:1: C++ compilation of rule '//tensorflow/core:ctc_ops_op_lib' failed (Exit 1)
In file included from tensorflow/core/ops/ctc_ops.cc:17:
In file included from ./tensorflow/core/framework/shape_inference.h:20:
In file included from ./tensorflow/core/framework/node_def_util.h:23:
In file included from ./tensorflow/core/framework/attr_value_util.h:23:
In file included from ./tensorflow/core/framework/partial_tensor_shape.h:20:
In file included from ./tensorflow/core/framework/tensor_shape.h:21:
In file included from ./third_party/eigen3/unsupported/Eigen/CXX11/Tensor:1:
In file included from external/eigen_archive/unsupported/Eigen/CXX11/Tensor:99:
external/eigen_archive/unsupported/Eigen/CXX11/src/Tensor/TensorDeviceSycl.h:163:19: error: no matching member function for call to 'get_access'
auto ptr =buf.get_access<cl::sycl::access::mode::discard_write, cl::sycl::access::target::host_buffer>().get_pointer();
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
external/local_config_sycl/crosstool/../sycl/include/SYCL/buffer.h:593:3: note: candidate template ignored: invalid explicitly-specified argument for template parameter 'accessMode'
get_access() {
^
external/local_config_sycl/crosstool/../sycl/include/SYCL/buffer.h:611:53: note: candidate function template not viable: requires single argument 'cgh', but no arguments were provided
accessor<T, dimensions, accessMode, accessTarget> get_access(
^
external/local_config_sycl/crosstool/../sycl/include/SYCL/buffer.h:633:53: note: candidate function template not viable: requires 3 arguments, but 0 were provided
accessor<T, dimensions, accessMode, accessTarget> get_access(
^
external/local_config_sycl/crosstool/../sycl/include/SYCL/buffer.h:653:53: note: candidate function template not viable: requires at least 2 arguments, but 0 were provided
accessor<T, dimensions, accessMode, accessTarget> get_access(
^
external/local_config_sycl/crosstool/../sycl/include/SYCL/buffer.h:670:68: note: candidate function template not viable: requires 2 arguments, but 0 were provided
accessor<T, dimensions, accessMode, access::target::host_buffer> get_access(
^
external/local_config_sycl/crosstool/../sycl/include/SYCL/buffer.h:684:68: note: candidate function template not viable: requires at least argument 'range', but no arguments were provided
accessor<T, dimensions, accessMode, access::target::host_buffer> get_access(
^
In file included from tensorflow/core/ops/ctc_ops.cc:17:
In file included from ./tensorflow/core/framework/shape_inference.h:20:
In file included from ./tensorflow/core/framework/node_def_util.h:23:
In file included from ./tensorflow/core/framework/attr_value_util.h:23:
In file included from ./tensorflow/core/framework/partial_tensor_shape.h:20:
In file included from ./tensorflow/core/framework/tensor_shape.h:21:
In file included from ./third_party/eigen3/unsupported/Eigen/CXX11/Tensor:1:
In file included from external/eigen_archive/unsupported/Eigen/CXX11/Tensor:99:
external/eigen_archive/unsupported/Eigen/CXX11/src/Tensor/TensorDeviceSycl.h:195:61: error: no member named 'map_allocator' in namespace 'cl::sycl'
auto src_buf = cl::sycl::buffer<uint8_t, 1, cl::sycl::map_allocator<uint8_t> >(static_cast<uint8_t*>(static_cast<void*>(const_cast<Index*>(src))), cl::sycl::range<1>(n));
~~~~~~~~~~^
external/eigen_archive/unsupported/Eigen/CXX11/src/Tensor/TensorDeviceSycl.h:195:75: error: unexpected type name 'uint8_t': expected expression
auto src_buf = cl::sycl::buffer<uint8_t, 1, cl::sycl::map_allocator<uint8_t> >(static_cast<uint8_t*>(static_cast<void*>(const_cast<Index*>(src))), cl::sycl::range<1>(n));
^
external/eigen_archive/unsupported/Eigen/CXX11/src/Tensor/TensorDeviceSycl.h:195:86: warning: expression result unused [-Wunused-value]
auto src_buf = cl::sycl::buffer<uint8_t, 1, cl::sycl::map_allocator<uint8_t> >(static_cast<uint8_t*>(static_cast<void*>(const_cast<Index*>(src))), cl::sycl::range<1>(n));
^
external/eigen_archive/unsupported/Eigen/CXX11/src/Tensor/TensorDeviceSycl.h:198:31: error: expected unqualified-id
auto src_acc =src_buf.template get_access<cl::sycl::access::mode::read, cl::sycl::access::target::global_buffer>(cgh);
^
external/eigen_archive/unsupported/Eigen/CXX11/src/Tensor/TensorDeviceSycl.h:198:107: error: nested name specifier 'cl::sycl::access::target::' for declaration does not refer into a class, class template or class template partial specialization
auto src_acc =src_buf.template get_access<cl::sycl::access::mode::read, cl::sycl::access::target::global_buffer>(cgh);
~~~~~~~~~~~~~~~~~~~~~~~~~~^
external/eigen_archive/unsupported/Eigen/CXX11/src/Tensor/TensorDeviceSycl.h:198:120: error: expected ';' at end of declaration
auto src_acc =src_buf.template get_access<cl::sycl::access::mode::read, cl::sycl::access::target::global_buffer>(cgh);
^
;
external/eigen_archive/unsupported/Eigen/CXX11/src/Tensor/TensorDeviceSycl.h:217:62: error: no member named 'map_allocator' in namespace 'cl::sycl'
auto dest_buf = cl::sycl::buffer<uint8_t, 1, cl::sycl::map_allocator<uint8_t> >(static_cast<uint8_t*>(dst), cl::sycl::range<1>(n));
~~~~~~~~~~^
external/eigen_archive/unsupported/Eigen/CXX11/src/Tensor/TensorDeviceSycl.h:217:76: error: unexpected type name 'uint8_t': expected expression
auto dest_buf = cl::sycl::buffer<uint8_t, 1, cl::sycl::map_allocator<uint8_t> >(static_cast<uint8_t*>(dst), cl::sycl::range<1>(n));
^
external/eigen_archive/unsupported/Eigen/CXX11/src/Tensor/TensorDeviceSycl.h:217:87: warning: expression result unused [-Wunused-value]
auto dest_buf = cl::sycl::buffer<uint8_t, 1, cl::sycl::map_allocator<uint8_t> >(static_cast<uint8_t*>(dst), cl::sycl::range<1>(n));
^
external/eigen_archive/unsupported/Eigen/CXX11/src/Tensor/TensorDeviceSycl.h:220:32: error: expected unqualified-id
auto dst_acc =dest_buf.template get_access<cl::sycl::access::mode::discard_write, cl::sycl::access::target::global_buffer>(cgh);
^
external/eigen_archive/unsupported/Eigen/CXX11/src/Tensor/TensorDeviceSycl.h:220:117: error: nested name specifier 'cl::sycl::access::target::' for declaration does not refer into a class, class template or class template partial specialization
auto dst_acc =dest_buf.template get_access<cl::sycl::access::mode::discard_write, cl::sycl::access::target::global_buffer>(cgh);
~~~~~~~~~~~~~~~~~~~~~~~~~~^
external/eigen_archive/unsupported/Eigen/CXX11/src/Tensor/TensorDeviceSycl.h:220:130: error: expected ';' at end of declaration
auto dst_acc =dest_buf.template get_access<cl::sycl::access::mode::discard_write, cl::sycl::access::target::global_buffer>(cgh);
^
;
2 warnings and 11 errors generated.
Target //tensorflow/python/kernel_tests:basic_gpu_test failed to build
Use --verbose_failures to see the command lines of failed build steps.
INFO: Elapsed time: 10.427s, Critical Path: 9.81s
INFO: 4 processes, local.
FAILED: Build did NOT complete successfully
Executed 0 out of 1 test: 1 fails to build

I would recommend reaching out to codeplay. OpenCL support for TF is still in early stages, and there may be some additional constraints to use it.

OpenCL support is integrating into 1.8:
https://github.com/lukeiwanski/tensorflow/tree/integration/1.8

Is this still an issue ? Feel free to close if this doesn't exist with the latest tensorflow version.

Just for reference, this branch with TensorFlow 1.8 was only experimental.
The official branch is now using TensorFlow 1.9 here: https://github.com/codeplaysoftware/tensorflow/tree/eigen_sycl
It requires bazel 0.16 and the latest ComputeCpp version.

Closing as duplicate of https://github.com/tensorflow/tensorflow/issues/22


Refactor example schema to be less confusing

The example star wars schema always bugged me in one point:
It's very confusing for new users that the Query type is also the Database.
It's much easier to understand if the Database were a separate type.
This is relatively easy to do but quite a bit of work because it's used in many places.

@theduke I'd be interested in helping out with this issue if you're still looking for someone to champion it.
I recently got through building an example for use with Rocket (#68) and have a decent grasp of decoupling the Query, Mutation, and Database types from one another.

Hey @ELD , sure, your help would be much appreciated.


USB output?

This looks super cool! Realize you have what you need here and likely aren't interested in adding this yourself but what do you think would be required to add USB support to this with a simple serial interface to tare and get weight? Power could also come from there.
Having an inexpensive standalone option that did both BLE and USB would be a super unique (and useful) offering.

Hey there,
Thanks for the suggestion. I think it would probably be quite easy to set up a serial channel over USB and listen to tare commands as well as send the weight. But what would be on the other end is the question.
Did you have a specific use-case in mind? The web-app could potentially use the Web Serial API to communicate.
However, the intended use was with a tablet or smartphone, which usually have BLE capabilities, and I'm having trouble to imagine when and where USB would be superior.
USB can already be used as the power source if a battery is not desired.

Thanks for the clarification. Indeed this seems like a pretty specific need. I am wondering if any standard already exists for serial communication with scales. If you already have any resources or ideas, please don't hesitate to share. I think the code base is simple enough and PR's are welcome!
Best,
Val

This project is awesome. I am not asking for USB support, but for a mobile (iOS, Android) app. It would be great if you could save/load the profiles and compare with them on the next pull (like Smart Espresso Profiler https://apps.apple.com/uk/app/smart-espresso-profiler/id1391707089). And Filtru app compatibility for filter coffee would be great too, but I am asking too much. 😀👍

Hello @adrianmihalko
I think a native app would probably not be needed since web browsers nowadays can have a decent amount of interaction with the host OS. I could imagine utilizing local storage to store recipes or recordings. If there is additional features that you would want to see added, please open a separate issue.
I'll look into the Filtru app thing but it will probably be on their side that they need to support this scale. Please bear in mind that the load cell I used is rated for 500g, which in most cases will not be enough for filter coffee equipment. Load cells that support higher loads are often of different shape and mounting pattern so a different design would be needed. That's anyway something I want to develop at some point, then maybe I can get in touch with Filtru.
Best,
Val

Thanks for the response. I hope you will continue with this project and find some other load cell which will be capable for filter coffees as well and thus making this scale a really universal best DIY coffee scale on the planet. I think for filter coffee we don't need a very complex app: live weight tracking, timer, flow rate in g/s.

This is admittedly far down the path of coffee insanity, but I'm building a Raspberry Pi server for the Decent DE1. Ideally I'd love to keep everything hardwired instead of having BLE involved. There are current scales used and integrated such as the Skale2 which sit under the drip tray and stop shots at a particular weight etc. But those are all BLE and as I said since we'd already prefer a USB cable powered scale, having that cable run to a Pi and also having reliable serial communication would be very elegant.
In any case, no expectations of you adding this at all, was just curious from a technology perspective! If we do head down that path you may see a PR come your way.

@nicpottier I'm looking to go down the same path as you, RPi server for the Decent DE1. I wonder if the Bluetooth would connect to the RPi/DE1 app. Similarly to the Acaia Lunar scales. I'd really like to build these scales and use it with the DE1. Have you come across this?

If someone can find information about the protocols/data formats that are supported by the Decent app, I could see about changing the internal data format for the scale firmware. Let me know your findings!

@philgood I mostly gave up on this, there didn't seem to be much interest among the community sadly. I haven't kept up lately but I think there was still some talk to make direct wired connections to the serial bus easier (for DE->Pi communication) but ya, the scale would still be something that would need to be connected to from the Pi.
The decent app communicates through Bluetooth and there is support for various protocols. @beeb perhaps the easiest would be emulating one of the currently supported scales. One choice would be the Skale2:
https://skale.cc/en/skale_open_sdk.html

I have been investigating the bluetooth protocol for the Decent DE1 and I think you have nailed it on the head @nicpottier. I think the best way moving forward is to leverage off another smart scale that has been supported, like you said the Skale2.
This is the config for the DE1 app communicating to the Skale2, as well as other smart scales.
https://github.com/decentespresso/de1app/blob/main/de1plus/bluetooth.tcl
@beeb Hopefully this is something you'd be happy to incorporate as I'd really like to use build and use your project on the daily!


Suggestion: why not Hangouts?

https://hangouts.google.com/
Keep the good work. I appreciated.

+1. Please

+1

Its not planned for the near future, but I agree it would be nice to have a global app for multiple accounts and services.
For reference: https://github.com/Aluxian/Facebook-Messenger-Desktop/issues/158


File api

fixes #62

Apologies for the long radio silence, I was on holiday and then again very busy with work. I'll review your PR in the next few days. A huge thanks in advance.

Great. This probably still has some rough edges and is missing docs. Just let me know what you find. I'm quite busy currently so it may take a while until I can address any issues.

I think I addressed all your comments by either a change or an explanation. I also rebased on master. I don't think we have to do anything special in s:buildsys.Init(). You already call s:SetCurrentConfig which does the necessary refreshing.
For documentation I think we should at least document the new version requirement and the fact that the file api is used at all. The rest is internals I would say. Also the changelog entry is still missing.

Thanks a lot for the quick reaction, back to you with a couple more comments!

I think this should be enough for documentation since this is more of an internal change. Let me know if you would reword anything. Otherwise I would say this is ready.

Also, given that s:buildsys.GetTargets() is only called once now (from s:GetBuildArgs() in build.vim), we could get rid of that, and always use s:fileapi to retrieve targets.

The latest version look great! Could I just ask you to update the docstrings of these functions in fileapi.vim? Where applicable, they should include Params, Returns, and perhaps also Raises for those that can raise exceptions.

s:ParseIndex()
s:ParseCodemodel()
s:fileapi.Parse()

After that, I'll just merge, if you agree.

And by the way, thanks A LOT for taking the time to work on this feature and address my review comments, I appreciate that a lot

and perhaps also Raises for those that can raise exceptions.

Does this mean for all those from which a vim-cmake exception can escape or only those with the actual throw statement (does it include s:fileapi.Parse() or only s:ParseIndex()).

After that, I'll just merge, if you agree.

I do.

I meant to also document Raises in s:fileapi.Parse(), given that it's a public function, so that if we are to use it in some other places in the future we know how to treat it. It'd be great if you could apply this last one change. Thanks!

That was fast! I'm merging

That was fast! I'm merging

I may have had this prepared in case this is what you wanted... :)
Anyways, thanks for merging.


docs: use new nuxi module add command in installation

Description

nuxi module add section has been added for Nuxt SEO in the #216 issue.
For documentation uniformity, the following modules also have sections added

simple-robots
sitemap
og-image
schema-org
link-checker
seo-experiments

site-config is not supported because the module was not yet added.
The documentation would like to addressed after the module is added.

related: harlan-zw/nuxt-site-config#30

Linked Issues
related #216 , harlan-zw/nuxt-site-config#30
Additional context

Hi @harlan-zw , I would be happy if you could review when you have time. 🙏

Legend, thank you!

@harlan-zw
no way! Thank you very much for your many reviews! 😊


cargo update updates version despite patch

Problem
In Firefox, a common problem we have is to temporarily/locally override some crate and use a local version of it, especially for the vendored ones. A common pattern to achieve this is to use a [patch] in the top-most Cargo.toml. But cargo update still updates to the newest version of the crate unless --precise is used.
A smaller reproducer looks like the following:
Steps

Setup

cargo new foo
cd foo
echo 'app_units = "0.7"' >> Cargo.toml
cargo update -p app_units --precise 0.7.0
At this point, we have a crate that depends version 0.7.0 of app_units, while the last version, as of writing, is 0.7.1.

Problem
5.  Use a patch to force the use of the local version:
echo '[patch.crates-io.app_units]' >> Cargo.toml
echo 'path = "app_units"' >> Cargo.toml
7. Try to update Cargo.lock: cargo update -p app_units.
Cargo's output looks like the following:
    Updating crates.io index
warning: Patch `app_units v0.7.0 (/tmp/foo/app_units)` was not used in the crate graph.
Check that the patched package version and available features are compatible
with the dependency requirements. If the patch has a different version from
what is locked in the Cargo.lock file, run `cargo update` to use the new
version. This may also occur with an optional dependency that is not enabled.
    Updating app_units v0.7.0 -> v0.7.1

I would have expected the following:
    Updating crates.io index
      Adding app_units v0.7.0 (/tmp/foo/app_units)
    Removing app_units v0.7.1

which is what either cargo update -p app_units --precise 0.7.0 does, or what changing the dependency itself to point to the path, rather than using the patch, does.
Notes
Output of cargo version: cargo 1.44.1 (88ba85757 2020-06-11)

This is currently working as expecte, albeit surprisingly. The purpose of [patch] is to make more candidates available for version resolution, but it does not guarantee that they will be used. Given 0.7.0 and 0.7.1 Cargo performs as usual, which is to use the higher of the two versions unless --precise is passed.

Is that really expected? Because to me, that's not what https://doc.rust-lang.org/edition-guide/rust-2018/cargo-and-crates-io/replacing-dependencies-with-patch.html or https://doc.rust-lang.org/cargo/reference/overriding-dependencies.html#the-patch-section say.

Yes it's expected, but you're right that the docs could use an update!

I, for one, very much prefer the behavior described in the docs, not the one implemented. :(


Make logging to file optional using environment variable

Following the discussion here: https://github.com/tpetricek/FsSnip.Website/issues/32
I would prefer to keep the logging to a file optional. I added a new documentation page that explains how to enable this so that when people get an error, we can point them to the docs on how to get a detailed log :)

@matthid I know you would have preferred the logging to be on by default - this was causing me some troubles in deploying a new version of fssnip.net to Azure, so I decided to go this way. I think it is a sensible default, but the idea with adding two load scripts would work too, so feel free to do that if you think it is worth it.
The doc page is now live: http://tpetricek.github.io/FSharp.Formatting/diagnostics.html

Yes I prefered an opt-out but I don't think it's important enough to have two load scripts. The docs are really clear so I'll just enable the flag in my builds :)


Array input examples ignore global fill-request-fields-with-example setting

We have configured fill-request-fields-with-example="false", and this works for most of our properties. However, any that are type array still get the examples filled in. I noticed there was a similar fix already merged for the per-property x-fill-example setting, see #776; hopefully fixing this is as simple as adding the global check to the same place?

Actually, this is a deeper problem. Looking at the code for that fix it is already trying to honor the global setting. And in fact, even when we set x-fill-example to "no" on a specific array property, it still gets filled in. So the fix does not work at all. Here is an example of such a property that is getting filled in inappropriately Rapidoc for our spec:
          "areaOfInterestIds": {
            "description": "The `id`s of the Areas of Interest to which notifications based on this template should be sent",
            "example": [
              "8145ebd1-7a8b-11ee-bc97-098b09a637c2"
            ],
            "items": {
              "format": "uuid",
              "type": "string"
            },
            "type": "array",
            "uniqueItems": true,
            "x-fill-example": "no"
          },
          "areaOfInterestIdsCustomizable": {
            "description": "Whether `areaOfInterestIds` can be customized when the notification is sent (defaults to `false`)",
            "type": "boolean"
          },


Update tuya.ts to add fingerprint _TZ3000_mmkbptmx to TS0004 to solve zigbee2mqtt #19065

PR for zigbee2mqtt issue #19065 and #20973, added fingerprint _TZ3000_mmkbptmx to TS0004_switch_module
https://github.com/Koenkk/zigbee2mqtt/issues/19065
https://github.com/Koenkk/zigbee2mqtt/issues/20973

Hello,
I'm also facing the issues described in the links. Can anyone merge this PR to solve it?
Regards,
Luca.

To accelerate times I've created the PR to the original project. Thanks!
https://github.com/Koenkk/zigbee-herdsman-converters/pull/7712


[CWOD-Technocracy] - Updated sheet name

Changes / Comments

Updated sheet name in approved.yml - changed to Technocracy from generic Classic World of Darkness

Roll20 Requests
Comments are very helpful for reviewing the code changes. Please answer the relevant questions below in your comment.

[x] Does the pull request title have the sheet name(s)? Include each sheet name.
[x] Is this a bug fix?
[ ] Does this add functional enhancements (new features or extending existing features) ?
[ ] Does this add or change functional aesthetics (such as layout or color scheme) ?
[ ] If changing or removing attributes, what steps have you taken, if any, to preserve player data ?
[ ] If this is a new sheet, did you follow Building Character Sheets standards ?

If you do not know English. Please leave a comment in your native language.

Hello! We do not allow changes to the approved.yaml file from character sheet contributors. It looks like you are updating the name of the character sheet, so I am going to close this Pull Request and manually make that change on my end. Thank you, and sorry for the mistake!


added contains express support

Why this PR?
Recently I started using https://sqlalchemy-utils.readthedocs.io/en/latest/_modules/sqlalchemy_utils/types/scalar_list.html to store array of enum.
for which I need to filter table with specific value inside array of enum (TEXT/BLOB at low level) which is feasible using contains expression.
What is changed/added ?

Added contains expression support for sqlalchemy and testcases to support it.
Updated Doc/Example

PS: :star2: My first open-source contribution :)

Hi @iakashpatel , I'm interested in the same feature, and was wondering if you still planned to work on this PR ? If not I might consider opening one myself


Invalid write of size 1 in releaseImage

I'm seeing this get flagged by valgrind
==17== Invalid write of size 1
==17==    at 0x19AED72B: releaseImage (view-backend-exportable-fdo-egl.cpp:250)
==17==    by 0x19AED72B: wpe_view_backend_exportable_fdo_egl_dispatch_release_exported_image (view-backend-exportable-fdo-egl.cpp:334)
==17==    by 0x1B5D769E: render (in /app/webkit/WebKitBuild/Debug/Tools/cog-prefix/src/cog-build/modules/libcogplatform-gtk4.so)
==17==    by 0x1B69DB90: _gtk_marshal_BOOLEAN__OBJECTv (gtkmarshalers.c:876)
==17==    by 0x15F18228: _g_closure_invoke_va (gclosure.c:893)
==17==    by 0x15F30E4A: g_signal_emit_valist (gsignal.c:3406)
==17==    by 0x15F31D62: g_signal_emit (gsignal.c:3553)
==17==    by 0x1B7865F8: gtk_gl_area_snapshot (gtkglarea.c:729)
==17==    by 0x1B8F38BE: gtk_widget_create_render_node (gtkwidget.c:11587)
==17==    by 0x1B8F6783: gtk_widget_do_snapshot (gtkwidget.c:11622)
==17==    by 0x1B903452: gtk_widget_snapshot_child (gtkwidget.c:12043)
==17==    by 0x1B9034DD: gtk_widget_real_snapshot (gtkwidget.c:734)
==17==    by 0x1B8F38BE: gtk_widget_create_render_node (gtkwidget.c:11587)
==17==    by 0x1B8F6783: gtk_widget_do_snapshot (gtkwidget.c:11622)
==17==    by 0x1B903452: gtk_widget_snapshot_child (gtkwidget.c:12043)
==17==    by 0x1B9034DD: gtk_widget_real_snapshot (gtkwidget.c:734)
==17==    by 0x1B8F3C95: gtk_widget_create_render_node (gtkwidget.c:11582)
==17==    by 0x1B8F6783: gtk_widget_do_snapshot (gtkwidget.c:11622)
==17==    by 0x1B902C72: gtk_widget_snapshot (gtkwidget.c:11644)
==17==    by 0x1B902C72: gtk_widget_render (gtkwidget.c:11676)
==17==    by 0x1B90A118: surface_render (gtkwindow.c:4733)
==17==    by 0x1BA02E57: _gdk_marshal_BOOLEAN__BOXEDv (gdkmarshalers.c:130)
==17==    by 0x15F18228: _g_closure_invoke_va (gclosure.c:893)
==17==    by 0x15F30E4A: g_signal_emit_valist (gsignal.c:3406)
==17==    by 0x15F31D62: g_signal_emit (gsignal.c:3553)
==17==    by 0x1BA2D942: gdk_surface_process_updates_internal (gdksurface.c:1348)
==17==    by 0x1BA2D942: gdk_surface_paint_on_clock (gdksurface.c:1436)
==17==    by 0x15F18228: _g_closure_invoke_va (gclosure.c:893)
==17==    by 0x15F31B47: g_signal_emit_valist (gsignal.c:3406)
==17==    by 0x15F31D62: g_signal_emit (gsignal.c:3553)
==17==    by 0x1BA1E72D: gdk_frame_clock_paint_idle (gdkframeclockidle.c:605)
==17==    by 0x15FB7E27: g_timeout_dispatch (gmain.c:4933)
==17==    by 0x15FB7293: g_main_dispatch (gmain.c:3381)
==17==    by 0x15FB7293: g_main_context_dispatch (gmain.c:4099)
==17==    by 0x15FB7637: g_main_context_iterate.constprop.0 (gmain.c:4175)
==17==    by 0x15FB7702: g_main_context_iteration (gmain.c:4240)
==17==    by 0x15DFD7C4: g_application_run (gapplication.c:2569)
==17==    by 0x10DDE2: main (in /app/webkit/WebKitBuild/Debug/Tools/cog-prefix/src/cog-build/cog)
==17==  Address 0x1fac1fe0 is 16 bytes inside a block of size 56 free'd
==17==    at 0x48438AF: operator delete(void*) (vg_replace_malloc.c:923)
==17==    by 0x1A8674F5: wl_priv_signal_final_emit (wayland-server.c:2221)
==17==    by 0x1A8674F5: destroy_resource (wayland-server.c:724)
==17==    by 0x1A867C24: wl_resource_destroy (wayland-server.c:744)
==17==    by 0x1A099FE4: ffi_call_unix64 (unix64.S:101)
==17==    by 0x1A0993F5: ffi_call_int (ffi64.c:669)
==17==    by 0x1A86D2A1: wl_closure_invoke (connection.c:1025)
==17==    by 0x1A868216: wl_client_connection_data (wayland-server.c:437)
==17==    by 0x1A86B019: wl_event_loop_dispatch (event-loop.c:1027)
==17==    by 0x19AEE772: operator() (ws.cpp:77)
==17==    by 0x19AEE772: WS::ServerSource::{lambda(_GSource*, int (*)(void*), void*)#3}::_FUN(_GSource*, int (*)(void*), void*) (ws.cpp:86)
==17==    by 0x15FB738A: g_main_dispatch (gmain.c:3381)
==17==    by 0x15FB738A: g_main_context_dispatch (gmain.c:4099)
==17==    by 0x15FB7637: g_main_context_iterate.constprop.0 (gmain.c:4175)
==17==    by 0x15FB7702: g_main_context_iteration (gmain.c:4240)
==17==    by 0x15DFD7C4: g_application_run (gapplication.c:2569)
==17==    by 0x10DDE2: main (in /app/webkit/WebKitBuild/Debug/Tools/cog-prefix/src/cog-build/cog)
==17==  Block was alloc'd at
==17==    at 0x4841013: operator new(unsigned long) (vg_replace_malloc.c:422)
==17==    by 0x19AED3AA: exportBuffer (view-backend-exportable-fdo-egl.cpp:212)
==17==    by 0x19AED3AA: (anonymous namespace)::ClientBundleEGL::exportBuffer(linux_dmabuf_buffer const*) (view-backend-exportable-fdo-egl.cpp:201)
==17==    by 0x1A099FE4: ffi_call_unix64 (unix64.S:101)
==17==    by 0x1A0993F5: ffi_call_int (ffi64.c:669)
==17==    by 0x1A86D2A1: wl_closure_invoke (connection.c:1025)
==17==    by 0x1A868216: wl_client_connection_data (wayland-server.c:437)
==17==    by 0x1A86B019: wl_event_loop_dispatch (event-loop.c:1027)
==17==    by 0x19AEE772: operator() (ws.cpp:77)
==17==    by 0x19AEE772: WS::ServerSource::{lambda(_GSource*, int (*)(void*), void*)#3}::_FUN(_GSource*, int (*)(void*), void*) (ws.cpp:86)
==17==    by 0x15FB738A: g_main_dispatch (gmain.c:3381)
==17==    by 0x15FB738A: g_main_context_dispatch (gmain.c:4099)
==17==    by 0x15FB7637: g_main_context_iterate.constprop.0 (gmain.c:4175)
==17==    by 0x15FB7702: g_main_context_iteration (gmain.c:4240)
==17==    by 0x15DFD7C4: g_application_run (gapplication.c:2569)
==17==    by 0x10DDE2: main (in /app/webkit/WebKitBuild/Debug/Tools/cog-prefix/src/cog-build/cog)
==17==

And an invalid free
==17== Invalid free() / delete / delete[] / realloc()
==17==    at 0x48438AF: operator delete(void*) (vg_replace_malloc.c:923)
==17==    by 0x1B5D769E: render (in /app/webkit/WebKitBuild/Debug/Tools/cog-prefix/src/cog-build/modules/libcogplatform-gtk4.so)
==17==    by 0x1B69DB90: _gtk_marshal_BOOLEAN__OBJECTv (gtkmarshalers.c:876)
==17==    by 0x15F18228: _g_closure_invoke_va (gclosure.c:893)
==17==    by 0x15F30E4A: g_signal_emit_valist (gsignal.c:3406)
==17==    by 0x15F31D62: g_signal_emit (gsignal.c:3553)
==17==    by 0x1B7865F8: gtk_gl_area_snapshot (gtkglarea.c:729)
==17==    by 0x1B8F38BE: gtk_widget_create_render_node (gtkwidget.c:11587)
==17==    by 0x1B8F6783: gtk_widget_do_snapshot (gtkwidget.c:11622)
==17==    by 0x1B903452: gtk_widget_snapshot_child (gtkwidget.c:12043)
==17==    by 0x1B9034DD: gtk_widget_real_snapshot (gtkwidget.c:734)
==17==    by 0x1B8F38BE: gtk_widget_create_render_node (gtkwidget.c:11587)
==17==    by 0x1B8F6783: gtk_widget_do_snapshot (gtkwidget.c:11622)
==17==    by 0x1B903452: gtk_widget_snapshot_child (gtkwidget.c:12043)
==17==    by 0x1B9034DD: gtk_widget_real_snapshot (gtkwidget.c:734)
==17==    by 0x1B8F3C95: gtk_widget_create_render_node (gtkwidget.c:11582)
==17==    by 0x1B8F6783: gtk_widget_do_snapshot (gtkwidget.c:11622)
==17==    by 0x1B902C72: gtk_widget_snapshot (gtkwidget.c:11644)
==17==    by 0x1B902C72: gtk_widget_render (gtkwidget.c:11676)
==17==    by 0x1B90A118: surface_render (gtkwindow.c:4733)
==17==    by 0x1BA02E57: _gdk_marshal_BOOLEAN__BOXEDv (gdkmarshalers.c:130)
==17==    by 0x15F18228: _g_closure_invoke_va (gclosure.c:893)
==17==    by 0x15F30E4A: g_signal_emit_valist (gsignal.c:3406)
==17==    by 0x15F31D62: g_signal_emit (gsignal.c:3553)
==17==    by 0x1BA2D942: gdk_surface_process_updates_internal (gdksurface.c:1348)
==17==    by 0x1BA2D942: gdk_surface_paint_on_clock (gdksurface.c:1436)
==17==    by 0x15F18228: _g_closure_invoke_va (gclosure.c:893)
==17==    by 0x15F31B47: g_signal_emit_valist (gsignal.c:3406)
==17==    by 0x15F31D62: g_signal_emit (gsignal.c:3553)
==17==    by 0x1BA1E72D: gdk_frame_clock_paint_idle (gdkframeclockidle.c:605)
==17==    by 0x15FB7E27: g_timeout_dispatch (gmain.c:4933)
==17==    by 0x15FB7293: g_main_dispatch (gmain.c:3381)
==17==    by 0x15FB7293: g_main_context_dispatch (gmain.c:4099)
==17==    by 0x15FB7637: g_main_context_iterate.constprop.0 (gmain.c:4175)
==17==    by 0x15FB7702: g_main_context_iteration (gmain.c:4240)
==17==    by 0x15DFD7C4: g_application_run (gapplication.c:2569)
==17==    by 0x10DDE2: main (in /app/webkit/WebKitBuild/Debug/Tools/cog-prefix/src/cog-build/cog)
==17==  Address 0x1fac1fd0 is 0 bytes inside a block of size 56 free'd
==17==    at 0x48438AF: operator delete(void*) (vg_replace_malloc.c:923)
==17==    by 0x1A8674F5: wl_priv_signal_final_emit (wayland-server.c:2221)
==17==    by 0x1A8674F5: destroy_resource (wayland-server.c:724)
==17==    by 0x1A867C24: wl_resource_destroy (wayland-server.c:744)
==17==    by 0x1A099FE4: ffi_call_unix64 (unix64.S:101)
==17==    by 0x1A0993F5: ffi_call_int (ffi64.c:669)
==17==    by 0x1A86D2A1: wl_closure_invoke (connection.c:1025)
==17==    by 0x1A868216: wl_client_connection_data (wayland-server.c:437)
==17==    by 0x1A86B019: wl_event_loop_dispatch (event-loop.c:1027)
==17==    by 0x19AEE772: operator() (ws.cpp:77)
==17==    by 0x19AEE772: WS::ServerSource::{lambda(_GSource*, int (*)(void*), void*)#3}::_FUN(_GSource*, int (*)(void*), void*) (ws.cpp:86)
==17==    by 0x15FB738A: g_main_dispatch (gmain.c:3381)
==17==    by 0x15FB738A: g_main_context_dispatch (gmain.c:4099)
==17==    by 0x15FB7637: g_main_context_iterate.constprop.0 (gmain.c:4175)
==17==    by 0x15FB7702: g_main_context_iteration (gmain.c:4240)
==17==    by 0x15DFD7C4: g_application_run (gapplication.c:2569)
==17==    by 0x10DDE2: main (in /app/webkit/WebKitBuild/Debug/Tools/cog-prefix/src/cog-build/cog)
==17==  Block was alloc'd at
==17==    at 0x4841013: operator new(unsigned long) (vg_replace_malloc.c:422)
==17==    by 0x19AED3AA: exportBuffer (view-backend-exportable-fdo-egl.cpp:212)
==17==    by 0x19AED3AA: (anonymous namespace)::ClientBundleEGL::exportBuffer(linux_dmabuf_buffer const*) (view-backend-exportable-fdo-egl.cpp:201)
==17==    by 0x1A099FE4: ffi_call_unix64 (unix64.S:101)
==17==    by 0x1A0993F5: ffi_call_int (ffi64.c:669)
==17==    by 0x1A86D2A1: wl_closure_invoke (connection.c:1025)
==17==    by 0x1A868216: wl_client_connection_data (wayland-server.c:437)
==17==    by 0x1A86B019: wl_event_loop_dispatch (event-loop.c:1027)
==17==    by 0x19AEE772: operator() (ws.cpp:77)
==17==    by 0x19AEE772: WS::ServerSource::{lambda(_GSource*, int (*)(void*), void*)#3}::_FUN(_GSource*, int (*)(void*), void*) (ws.cpp:86)
==17==    by 0x15FB738A: g_main_dispatch (gmain.c:3381)
==17==    by 0x15FB738A: g_main_context_dispatch (gmain.c:4099)
==17==    by 0x15FB7637: g_main_context_iterate.constprop.0 (gmain.c:4175)
==17==    by 0x15FB7702: g_main_context_iteration (gmain.c:4240)
==17==    by 0x15DFD7C4: g_application_run (gapplication.c:2569)
==17==    by 0x10DDE2: main (in /app/webkit/WebKitBuild/Debug/Tools/cog-prefix/src/cog-build/cog)
==17==

Can you retest with #176 ?

Can you retest with #176 ?

Yeah, seems to fix it.

Tested 8302451b11550d933c1d08d8c0ec85cf7e861535 seems to work as well.


[Refactor] Refactor SPO duplicate methods

Some methods in SPO stack are defined in multiple commands and could be moved to a Utils class to prevent duplicate code. The following methods could be moved / combined (present in site-classic-set, site-classic-add & site-classic-remove:

ensureFormDigest
waitUntilFinished

Good idea!


Enchantments

Is it intentional for the mace and pike to not be enchantable with weapon enchants like sharpness?

As long as I don't have enough time to work on Reforged, yes.
However, that might be a good addition for the next version

I might have enough time again as soon as my Master's Thesis is done (which will be in a few months). But I don't want to make any promises

Good luck!


Issue 406 v1: OWL 2 DL review with SHACL-SPARQL

This Pull Request resolves all requirements of Issue #406 .

A patch has been added to fix a syntax error in the top Makefile.  The overall patch effect remains the same.


Copying username in usercard copies login-name while displays display-name

Describe your issue
Clicking the copy username button copies the login-name while the label next to it shows the display-name.
Screenshots

How to reproduce

/usercard testaccount_420 or open a user popup any other way,
Click copy username button,
Paste it somewhere, see that it pasted testaccount_420 instead of 테스트계정420 which was displayed on the label.

OS and Chatterino Version

Chatterino + Dankerino patches 2.3.3 (commit bdf45c408ac53c5ff843f1949f54d2687fa4641a, upstream ae9f92de)
also works on Chatterino 2.2.3-beta2 (commit 821b0e3d5)

I could see a reasoning to show both the display name and the login name in the usercard in cases where they are different like this, but I think the copy behavior should still be the login name. At least from my experience when I copy a username it is usually to paste it into something that requires the login name as input, such as the usercard command itself or some other locations in the app.

This is the one thing I forgot about when adding the display name to the usercard in #2160. This should just make use of the Settings > Advanced > Username style setting I suppose - you should be able to copy exactly what you see.

Quick fix:
Respect username style in display
Respect username style in copy
Long fix:
Quick fixes
If the user has a localized username, include a second copy button with a tooltip "copy login name". Buttons should probably look different, not sure in what way though

Setting the copy button to the localised name feels like a step backwards. I'd like to be able to see the localised name, but I almost never need to refer to it. I can only think of a couple rare use cases where copying the localised name would be helpful, otherwise it'll be more of a hinderance whenever I want to use it.
Aside from what's already been suggested, the other two options I can think of are:

Regardless of username style setting, display both username and localised name on separate lines, and have a copy button for each
Enable the text cursor/make the name label highlightable, display both username and localised name, users can highlight and copy what they want manually


Update README.md

fixed incorrect option in the Usage section.

Coverage remained the same at 75.676% when pulling fdb22b83729283230277f7439d5d7174aab04ba1 on microdel:patch-1 into 21744ad28dce46576628920d3962e23381492355 on maxbrokman:0.3.


Fails to show needtable in Safari

Hi,
I'm generating a need table and it's visualised successfully in Chrome:

But it doesn't load on Safari. The only error I can see is:

Sorry for the late response.
For me the table looks in both browser, as it normally takes the complete width of the right side (same as text).
There are known issues with the ReadTheDocs theme, which injects and changes some HTML table elements via javascript. Therefor our CSS style get not taken into account.
Can you check it with another theme, maybe the standard alabaster theme?
Then we know if there are Safari specific issues.

Hi,
Thank you for the reply. I tried the alabaster and the classic theme and both don't populate the table, which was working well with the sphinx theme.

Resolved


Added DELETE route and covered crashes

closes #27. The backend will not crash when "id" is not found and instead sends a 404 response and moves on. If "id" is found, the client is removed and responds with 200.

I see you were inspired by info in class to do this


Styling of scrollbar changed

Close #82
I have changed the styling of scrollbar so that it looks good now.

the color is not matching the theme

Ok I will change the color scheme of the scrollbar so that it looks better and beautiful.


Adding UBI-8 JDK-21 image

Summary
Adding JDK-21 ubi image (see #40)
Use Cases
New LTS version of java is 21, and we do not yet have that in this repo
Checklist

[x] I have viewed, signed, and submitted the Contributor License Agreement.
[x] I have linked issue(s) that this PR should close using keywords or the Github UI (See docs)
[x] I have added an integration test, if necessary.
[x] I have reviewed the styleguide for guidance on my code quality.
[x] I'm happy with the commit history on this PR (I have rebased/squashed as needed).

LGTM

@sophiewigmore Can you LGTM ?

@sophiewigmore thanks for approving the PR. Do you think we can merge the PR?
Once merged / image published, I will update the ubi-java-extension repo for leveraging this work here.

@mhdawson this is the next one we need to merge . Also after merging can you close this issue https://github.com/paketo-community/ubi-base-stack/issues/40 ?


Add bark button

Honestly a little on the fence about whether or not this should be a thing in case it's too annoying, plus it's also way funnier to just say "bark"

Duplicated by #25 , plus I like the other one better.


Enhancement: Search Ambari database engine in Operating System repository

Hello Alexandru,
In your scripts, when we are using another database engine than Postgres, you are configuring MariaDB or MySQL official repo on ambari server node. Would it be possible to try installing package from OS repository before adding internet repo?
For offline installation, we have to create a specific repo and change vars in database role. It should more confortable to install mariadb directly from our OS repository.
Thanks,

Hi, sorry about the late reply.
That is a reasonable request, but not sure if it would be appropriate or easy to do in these playbooks.
The main purpose of these playbooks is to provide a working example for all Ambari-supported OS-es. And if you have a specific requirement - to change these playbooks (or at least the variables) for your environment.
Since each OS has a different default MySQL flavour and even version, using the official repo would be the only way to guarantee the install works for all OS-es (easier to handle this for postgres).
Let's take your specific MariaDB example, even if we try to install first mariadb from the OS repo, by default, both RHEL7 and Ubuntu14 would install MariaDB 5.5 which is too old and not supported by Ambari (Ubuntu16 would install version 10.0 which is also not supported by the recent Ambari versions).
Therefore, the only way installing from local OS repos would work, is by making sure the OS is already configured with a repo providing one of the more recent MariaDB versions, and this usecase is very rare and specific.
Probably the only thing I can do is to add a global variable like database_options.add_repo: true so that this block would only be executed if that is set: https://github.com/hortonworks/ansible-hortonworks/blob/master/playbooks/roles/database/tasks/main.yml#L19
Would this be sufficient for your usecase?

Hello Alexandru,
Thank you for your feedback.
I like your proposal. It will be perfect or me !
Thanks

Hi, this is now done!
https://github.com/hortonworks/ansible-hortonworks/commit/de71ccf4918b6e17df4bb297c6b50f8a5b3603cf

Thank you very much Alexandru!


Add delete command

Should use dpr api to perform soft-delete of the datapackage
see also: add purge command #39

@Fak3 could you spec out the exact signature of the command e.g. does it allow an argument e.g.
dpmpy delete mypublisher/cool-package

dpmpy delete {package-identifier}

What does it do if no argument provided (check we are in a data package directory and use that).

I thought that for now it should only perform deletion of datapackage in current dir, like the publish command does. To allow any action on arbitrary datapackage, we should agree on how the user would specify datapackage identifier - publisher/packagename or @publisher/packagename or maybe even publisher packagename1 packagename2 packagename3? Will we ever need a wildcards to perform action? Like dpmpy delete publisher/*


Sign out does not expire access and refresh token

The sign-out handler marks the ID token as expired, but it does not do so for the access and refresh tokens. This can cause the following issue:
When a user logs in as userA, then signs out, the access and refresh tokens will be preserved by the user's web browser, as they are not marked as expired. See the log of the sign-out handler:
TRACE	Returning response:

{
    "status": "307",
    "statusDescription": "Temporary Redirect",
    "headers": {
        "location": [
            {
                "key": "location",
                "value": ""
            }
        ],
        "set-cookie": [
            {
                "key": "set-cookie",
                "value": "CognitoIdentityServiceProvider.xK9nubrGTDSakK8uwSL2P6WmUd.LastAuthUser=; Path=/; Secure; SameSite=Lax; Expires=Thu, 01 Jan 1970 00:00:00 GMT"
            },
            {
                "key": "set-cookie",
                "value": "CognitoIdentityServiceProvider.xK9nubrGTDSakK8uwSL2P6WmUd.userA.tokenScopesString=; Path=/; Secure; SameSite=Lax; Expires=Thu, 01 Jan 1970 00:00:00 GMT"
            },
            {
                "key": "set-cookie",
                "value": "CognitoIdentityServiceProvider.xK9nubrGTDSakK8uwSL2P6WmUd.userA.userData=; Path=/; Secure; SameSite=Lax; Expires=Thu, 01 Jan 1970 00:00:00 GMT"
            },
            {
                "key": "set-cookie",
                "value": "amplify-signin-with-hostedUI=; Path=/; Secure; SameSite=Lax; Expires=Thu, 01 Jan 1970 00:00:00 GMT"
            },
            {
                "key": "set-cookie",
                "value": "CognitoIdentityServiceProvider.xK9nubrGTDSakK8uwSL2P6WmUd.userA.idToken=; Path=/; Secure; SameSite=Lax; Expires=Thu, 01 Jan 1970 00:00:00 GMT"
            },
            {
                "key": "set-cookie",
                "value": "spa-auth-edge-nonce=; Path=/; Secure; HttpOnly; SameSite=Lax; Expires=Thu, 01 Jan 1970 00:00:00 GMT"
            },
            {
                "key": "set-cookie",
                "value": "spa-auth-edge-nonce-hmac=; Path=/; Secure; HttpOnly; SameSite=Lax; Expires=Thu, 01 Jan 1970 00:00:00 GMT"
            },
            {
                "key": "set-cookie",
                "value": "spa-auth-edge-pkce=; Path=/; Secure; HttpOnly; SameSite=Lax; Expires=Thu, 01 Jan 1970 00:00:00 GMT"
            }
        ],
        "strict-transport-security": [
            {
                "key": "Strict-Transport-Security",
                "value": "max-age=31536000; includeSubdomains; preload"
            }
        ],
        "referrer-policy": [
            {
                "key": "Referrer-Policy",
                "value": "same-origin"
            }
        ],
        "x-xss-protection": [
            {
                "key": "X-XSS-Protection",
                "value": "1; mode=block"
            }
        ],
        "x-frame-options": [
            {
                "key": "X-Frame-Options",
                "value": "DENY"
            }
        ],
        "x-content-type-options": [
            {
                "key": "X-Content-Type-Options",
                "value": "nosniff"
            }
        ]
    }
}

When the same user logs in as userB, the browser will have all of userB's cookies, but also the access and refresh tokens of userA. When those cookies are sent back to CloudFront after the user has finished logging in as userB, the user will see a Your request header section exceeds the maximum allowed size error because with the additional cookies the maximum size of 8192 bytes is exceeded.
I'm signing out by navigating to /signout, my cookieCompatibility is set to amplify and these are my cookieSettings:
"cookieSettings": {
    "idToken": null,
    "accessToken": null,
    "refreshToken": null,
    "nonce": null
}

I made the following change in the sign-out handler which prevents this.
const response = {
    status: "307",
    statusDescription: "Temporary Redirect",
    headers: {
      location: [
        {
          key: "location",
          value: `https://${
            CONFIG.cognitoAuthDomain
          }/logout?${stringifyQueryString(qs)}`,
        },
      ],
      "set-cookie": generateCookieHeaders.signOut({
        tokens: {
          id: cookies.idToken,
+         access: cookies.accessToken,
+         refresh: cookies.refreshToken,
        },
        ...CONFIG,
      }),
      ...CONFIG.cloudFrontHeaders,
    },
  };

Is it intentional behaviour that the access and refresh tokens are preserved when signing out?

Thanks for the report! Fixed this in #290

Fix released per v2.3.1


Im not sure where to ask question so please help.

Hello, So I do not know where to go to ask question but I am getting this error. Sorry for being a noob, but I've been stuck here for a while now.
First of all heres my setup:
VS 2017 Community
Apache Cordova 6.3.1
Windows 10
I did all your step and always returning to this error. On the app side, the div element for the map looks like this

and here is the code where I am loding the map
var mapCanvas = document.getElementById("gmapsPage");
var map = plugin.google.maps.Map.getMap(mapCanvas);
Also when I try to compile for the APK heres what I get
1>MSBUILD : cordova-build error : FAILURE: Build failed with an exception.
1>MSBUILD : cordova-build error : * What went wrong:
1>MSBUILD : cordova-build error : A problem occurred configuring root project 'android'.
1>MSBUILD : cordova-build error : > Could not resolve all dependencies for configuration ':_debugCompile'.
1>MSBUILD : cordova-build error :  > Could not find any matches for com.google.android.gms:play-services-maps:+ as no versions of com.google.android.gms:play-services-maps are available.
1>MSBUILD : cordova-build error :  Searched in the following locations:
1>MSBUILD : cordova-build error :  https://repo1.maven.org/maven2/com/google/android/gms/play-services-maps/maven-metadata.xml
1>MSBUILD : cordova-build error :  https://repo1.maven.org/maven2/com/google/android/gms/play-services-maps/
1>MSBUILD : cordova-build error :  https://jcenter.bintray.com/com/google/android/gms/play-services-maps/maven-metadata.xml
1>MSBUILD : cordova-build error :  https://jcenter.bintray.com/com/google/android/gms/play-services-maps/
1>MSBUILD : cordova-build error :  file:/C:/Program Files (x86)/Android/android-sdk/extras/android/m2repository/com/google/android/gms/play-services-maps/maven-metadata.xml
1>MSBUILD : cordova-build error :  file:/C:/Program Files (x86)/Android/android-sdk/extras/android/m2repository/com/google/android/gms/play-services-maps/
1>MSBUILD : cordova-build error :  Required by:
1>MSBUILD : cordova-build error :  :android:unspecified
1>MSBUILD : cordova-build error :  > Could not find any matches for com.google.android.gms:play-services-location:+ as no versions of com.google.android.gms:play-services-location are available.
1>MSBUILD : cordova-build error :  Searched in the following locations:
1>MSBUILD : cordova-build error :  https://repo1.maven.org/maven2/com/google/android/gms/play-services-location/maven-metadata.xml
1>MSBUILD : cordova-build error :  https://repo1.maven.org/maven2/com/google/android/gms/play-services-location/
1>MSBUILD : cordova-build error :  https://jcenter.bintray.com/com/google/android/gms/play-services-location/maven-metadata.xml
1>MSBUILD : cordova-build error :  https://jcenter.bintray.com/com/google/android/gms/play-services-location/
1>MSBUILD : cordova-build error :  file:/C:/Program Files (x86)/Android/android-sdk/extras/android/m2repository/com/google/android/gms/play-services-location/maven-metadata.xml
1>MSBUILD : cordova-build error :  file:/C:/Program Files (x86)/Android/android-sdk/extras/android/m2repository/com/google/android/gms/play-services-location/
1>MSBUILD : cordova-build error :  Required by:
1>MSBUILD : cordova-build error :  :android:unspecified

again Im still a noob at this so please help.

I figured it out. I dont have google maps repository and android repository installed. This is embarrassing. Please delete this issue.


Implement Load Balancer Collector

This collector will collect metrics for the detail metrics for load balancer including health state and usage. Load Balancer metrics can be collected as summary and individually.

I'm working on it

Pending on this, there's no API for load balancer metrics in go-vmware-nsxt

waiting for PR merged: https://github.com/vmware/go-vmware-nsxt/pull/23/files

PR for load balancer status merged will work on this

Working on Load Balancer statistics metric


KaTeX support

I've tried adding the gatsby-remark-katex plugin using the instructions here, but I still can't seem to get KaTeX to display on my pages. Any ideas?

I'll close this issue. I found a fix myself. I'll post the code below for anyone else in the same position.
const plugins = [
...
  {
    resolve: 'gatsby-plugin-mdx',
    options: {
      remarkPlugins: [
        require('remark-math'),
        require('remark-html-katex'),
        require('remark-abbr'),
      ],
      gatsbyRemarkPlugins: [
        {
          resolve: "gatsby-remark-images",
          options: {
            maxWidth: 1035,
            sizeByPixelDensity: true
          }
        },
        {
          resolve: 'gatsby-remark-copy-linked-files'
        }
      ],
      extensions: [".mdx", ".md"]
    }
  },
  ...
  ];


TeleFrame addon interface

First of all: Since some changes were necessary in this PR, I will not take it into the develop branch before @LukeSkywalker92  has given his consent. If it is not acceptable, I would create a fork.
With #108 I want to present you the idea of an addon interface.
The plan was to provide a simple way to extend the functionality of TeleFrame.
My idea was to create an easy to use interface.
When implementing it, I didn't want to affect the core too much and without additional dependencies.
Nevertheless, there should be as few restrictions as possible when implementing an add-on. In principle, an addon has access to almost all objects of the TeleFrame main process if you need them. See demo TeleFrame-webRemote (self-promotion :-))
You can read the details in the README of the addon interface.
With the implementation it became also possible to use TeleFrame in a frame-only mode, without bot configuration

config: { "botToken": "bot-disabled" }

This could be used to update images and images.json on the TeleFrame by implementing a sync addon. Simply copying the files and restarting the TeleFrame would also be possible, but is rather uncomfortable.
Let me know what you think. Suggestions for changes or additions are welcome.
Happy addon coding!
Discussion: List of available addons
Since you will probably create some addons in the future, it would be IMO useful to have a list of available addons.
How do you think we could implement this in a meaningful way?

I agree, the wiki is the best place for the list.

The addon Interface is now finished and merged into develop.
@LukeSkywalker92  from my side, we would be ready to release.

Sounds good. Thanks again for your work. Should we go for 3.0.0?

I think we can do this. There have really been a lot of improvements in the last few weeks - both visible and under the hood.

I' ve added a small change in the installscript so that git ignores changes of the filemode.

Then go for it :smiley:

It's done 😁


Missing selector prevents HPA from autoscaling Kafka Source

Describe the bug
Missing selector prevent HPA from autoscaling Kafka Source. We had this problem before - detailed description with the fix is in: https://github.com/knative-sandbox/eventing-kafka/issues/444
Expected behavior
HPA should be able to scale Kafka Source as scaleTargetRef
To Reproduce
Make sure Kafka Source and ScaledObjecti (so) is created - replace so name in
apiVersion: autoscaling/v2beta2
kind: HorizontalPodAutoscaler
metadata:
  name: keda-kafka-es10-hpa
spec:
  scaleTargetRef:
    apiVersion: sources.knative.dev/v1beta1
    kind: KafkaSource
    name: kafka-es10
  maxReplicas: 10
  minReplicas: 1
  metrics:
  - type: External
    external:
      metric:
        name: s0-kafka-e2et10
        selector:
          matchLabels:
            scaledobject.keda.sh/name: "so-0eb95950-032c-4a31-b65c-25b55392cb7c"
      target:
          type: AverageValue
          value: "10"

and kubectl apply -f setup/keda-kafka-es10-hpa.yaml
You can then see InvalidSelector error "the HPA target''s scale is missing a selector"
 k get hpa keda-kafka-es10-hpa  -oyaml
apiVersion: autoscaling/v1
kind: HorizontalPodAutoscaler
metadata:
  annotations:
    autoscaling.alpha.kubernetes.io/conditions: '[{"type":"AbleToScale","status":"True","lastTransitionTime":"2022-05-09T22:48:52Z","reason":"SucceededGetScale","message":"the
      HPA controller was able to get the target''s current scale"},{"type":"ScalingActive","status":"False","lastTransitionTime":"2022-05-09T22:48:52Z","reason":"InvalidSelector","message":"the
      HPA target''s scale is missing a selector"}]'
    autoscaling.alpha.kubernetes.io/metrics: '[{"type":"External","external":{"metricName":"s0-kafka-e2et10","metricSelector":{"matchLabels":{"scaledobject.keda.sh/name":"so-0eb95950-032c-4a31-b65c-25b55392cb7c"}},"targetValue":"10"}}]'
    kubectl.kubernetes.io/last-applied-configuration: |
      {"apiVersion":"autoscaling/v2beta2","kind":"HorizontalPodAutoscaler","metadata":{"annotations":{},"name":"keda-kafka-es10-hpa","namespace":"k9"},"spec":{"maxReplicas":10,"metrics":[{"external":{"metric":{"name":"s0-kafka-e2et10","selector":{"matchLabels":{"scaledobject.keda.sh/name":"so-0eb95950-032c-4a31-b65c-25b55392cb7c"}}},"target":{"type":"AverageValue","value":"10"}},"type":"External"}],"minReplicas":1,"scaleTargetRef":{"apiVersion":"sources.knative.dev/v1beta1","kind":"KafkaSource","name":"kafka-es10"}}}
  creationTimestamp: "2022-05-09T22:48:36Z"
  name: keda-kafka-es10-hpa
  namespace: k9
  resourceVersion: "799643471"
  uid: cc9dd09f-570f-4a06-aeb6-a819d4a75272
spec:
  maxReplicas: 10
  minReplicas: 1
  scaleTargetRef:
    apiVersion: sources.knative.dev/v1beta1
    kind: KafkaSource
    name: kafka-es10
status:
  currentReplicas: 1
  desiredReplicas: 0

Knative release version
1.4

/assign aslom

After backporting the fix Kafka Source has selectors and it is scaled by KEDA/HPA with ecplicas increasing
k get hpa
NAME                                               REFERENCE                TARGETS        MINPODS   MAXPODS   REPLICAS   AGE
keda-hpa-so-d88941e6-8d7f-4110-9cb4-6d3eb380f01d   KafkaSource/kafka-es10   25/10 (avg)    1         10        4          3m14s

k get hpa  keda-hpa-so-d88941e6-8d7f-4110-9cb4-6d3eb380f01d
NAME                                               REFERENCE                TARGETS           MINPODS   MAXPODS   REPLICAS   AGE
keda-hpa-so-d88941e6-8d7f-4110-9cb4-6d3eb380f01d   KafkaSource/kafka-es10   12500m/10 (avg)   1         10        8          3m20s

and HPA scaling Kafka source changing vreplicas
k get kafkasources.sources.knative.dev kafka-es10 -oyaml
apiVersion: sources.knative.dev/v1beta1
kind: KafkaSource
...
  consumers: 10
  observedGeneration: 4
  placements:
  - podName: kafka-source-dispatcher-0
    vreplicas: 10
  selector: eventing.knative.dev/source=kafka-source-controller,eventing.knative.dev/sourceName=kafka-es10
  sinkUri: http://kperf-eventing-receiver.k9.svc.cluster.local


Don't default to google for retrieving a favicon

The add-on will try to retrieve a favicon from Google, no matter which website you add. From a privacy and de-google point of view it would be better if the add-on tries to check the actual site itself first to try to find one, only providing google as an optional fall-back.

Available in v3.3.0, check the new settings page


Client: matching of certProfile not done on MessageInterface, MessageConfiguration, and ClientContext config object

Instead, always the first element of the configured list is used.

handled internally


Tag links

This PR does two things: parametrizes item link handling as discussed in issue #70, and allows automated tagging of items based on their links.  I had implemented the latter in a hard-coded way in my virtcon branch (which is for the gated version of the schedule where we had signups, meeting, and now recording links), so this code is a bit cleaner.  Sorry the merge isn't magic; that's probably because I restructured the LINKS config section.
Note that one free bit of functionality is that link types can easily be removed from the schedule by leaving them out of the config (rather than manually editing or otherwise changing the source data).

I forgot the style tweaks in my initial check in, but they're there now.


Credentials on Linux

First tried this extension on Windows 8.1 because why not and I was absolutely blown away, so i thought, "Hey, I have got to put this on my Linux machine..." Unfortunately, without the credential helper I've got installed on Windows, the plugin is somewhat less useful. It's not a big deal, but it does mean that once every 90 minutes or so I'm going to have to update my credentials the hard way... And I realize this may be entirely me and nothing to do with git-control at all, too.

Is there a chance you can fix that?

Is there a way I can work around it?

Still a little new to the whole git-on-linux thing.

Are you using an ssh-key? I am running on a mac and do all of my clones over ssh and I never have a problem

No, I wasn't. Right after I posted this, it occurred to me that I might be able to avoid that problem entirely by using ssh auth instead of using my password. It works like a charm.
I didn't close this issue because I figure every other windows guy on earth is going to run into the same problem at some point. (Because who could resist installing this on their toy linux install and playing with it, right?)

I can't stand using http for my git stuff.  Even if I'm on windows I'll generate an ssh key just so I don't have to worry about username/password

Granted it would be nice to get this working with http and ssh...

For the record:

On Windows, there is https://gitcredentialstore.codeplex.com/ for saving git creds on https:// repos
For Linux, there are multiple credential stores. It depends on your Desktop Environment.

For Gnome, use gnome-keyring, here are git integration instructions
For KDE use Kwallet, here are git integration instructions

I think this issue can be closed, because saving the credentials in Atom would be a "bad idea (tm)"

I agree that credentials being saved in git-control are a bad idea. Unfortunately the question pops up quite alot as users that are new to git aren't familiar with the way credentials work.

OK, I've seen a lot of replies about storing credentials, but, if I am
remembering correctly, the problem was that I had to go enter the
credentials at the command line (which I should have said instead of "the
hard way") because, at least when I opened this, there was no way to do it
from within git-control.
On Sat, Jul 18, 2015, 3:32 AM Bricktop<EMAIL_ADDRESS>wrote:

I agree that credentials being saved in git-control are a bad idea.
Unfortunately the question pops up quite alot as users that are new to git
aren't familiar with the way credentials work.
—
Reply to this email directly or view it on GitHub
https://github.com/jacogr/atom-git-control/issues/42#issuecomment-122513545
.

@MarcelMue yes, git-control should be able to enter the credentials. Which currently it isn't able to, right? But it shouldn't store them. Maybe as soon as we can enter credentials, there should be  a note next to the form that mentions setting up proper git credential storage. What do you think?

Yes, sorry I just skimmed this thread again when writing my earlier response and misunderstood the problem. I think the problem was that the credentials are entered in a console something like this:

And the npm packaged used in git-control does not support comands that don't start with "git" IIRC.
I think the credentials can be applied directly to the command but I am not sure about it as I have a keystore set up myself :(
Any pull requests about this whole console issue are very welcome, I looked at other atom packages and using a buffered process ( see https://github.com/akonwi/git-plus/blob/master/lib/git.coffee for reference ) looks way superior to the way git-control does it currently.
I personally don't have the time to do major changes ( even though I tried multiple times ) because of real life obligations. I mainly support others that want to contribute or have issues with git-control currently. I (or someone else) will hopefully get around to implementing the switch to a buffered process some time.
So the bottom line is contributions are welcome :D


GH-35712: [CI][C++] DNM: Debug arrow-array-test slow on macOS

Rationale for this change

What changes are included in this PR?

Are these changes tested?

Are there any user-facing changes?

Closes: #35712

Close and not reuse it here, because I think I can reuse this to debug in the future


Refactor UI, use teacup as user interface

Currently ebcl-ui uses whiptail to provide sort of a menu and dialog based user interface to the customer for a simplified setup of the SDK and to run image builds. There is a new UI concept with teabox which would allow for a better and more sophisticated user interface design.

Teabox repo (currently still intentionally broken): https://github.com/isbm/teabox

teacup now part of nautilos:2.0:devel
@isbm if you would like to start refactoring the current UI, here is your starting point:
https://github.com/Elektrobit/nautilos-repo-setup/blob/master/nautilos-repo-setup/ebcl-ui
Thanks

As you know the current UI uses whiptail and is in use in our production release and also documented. From a refactoring perspective I suggest a drop in replacement for the functionality of the current ebcl-ui. The design and behavior can be different but please no fancy additional features in the first run.
Also remember if you change the name you need to adapt the documentation as well. Thus at least a backward command of the same name should exist. The latest documentation you will find here:

https://gitext.elektrobitautomotive.com/EB-SUSE-Interop/nautilos/blob/master/docs/SDK/adoc/sdk_user_guide.adoc

Thanks for the effort

@schaefi what's "teacup"? 😉

@schaefi what's "teacup"? wink

teabox


openldap: Update to version 2.6.7

Merge Checklist

All boxes should be checked before merging the PR (just tick any boxes which don't apply to this PR)

[x] The toolchain has been rebuilt successfully (or no changes were made to it)
[x] The toolchain/worker package manifests are up-to-date
[x] Any updated packages successfully build (or no packages were changed)
[x] Packages depending on static components modified in this PR (Golang, *-static subpackages, etc.) have had their Release tag incremented.
[x] Package tests (%check section) have been verified with RUN_CHECK=y for existing SPEC files, or added to new SPEC files
[x] All package sources are available
[x] cgmanifest files are up-to-date and sorted (./cgmanifest.json, ./toolkit/scripts/toolchain/cgmanifest.json, .github/workflows/cgmanifest.json)
[x] LICENSE-MAP files are up-to-date (./SPECS/LICENSES-AND-NOTICES/data/licenses.json, ./SPECS/LICENSES-AND-NOTICES/LICENSES-MAP.md, ./SPECS/LICENSES-AND-NOTICES/LICENSE-EXCEPTIONS.PHOTON)
[x] All source files have up-to-date hashes in the *.signatures.json files
[x] sudo make go-tidy-all and sudo make go-test-coverage pass
[x] Documentation has been updated to match any changes to the build system
[x] Ready to merge

Summary

What does the PR accomplish, why was it needed?

Upgrade openldap to version 2.6.7

Change Log

Upgrade openldap to version 2.6.7
Remove old CVE and bug patches
Add a patch for unresolved symbol when building

Does this affect the toolchain?

NO
Test Methodology

Local build with RUN_CHECK=y passes

Per https://www.openldap.org/software/download/, I see that 2.6.7 is a "feature release" whereas 2.5.17 is an LTS release. What are the ramifications of picking a feature release instead? More details here and here. At first glance, the LTS seems like it might be a safer choice, but it might not be a bad idea to see what other distros do.

Per https://www.openldap.org/software/download/, I see that 2.6.7 is a "feature release" whereas 2.5.17 is an LTS release. What are the ramifications of picking a feature release instead? More details here and here. At first glance, the LTS seems like it might be a safer choice, but it might not be a bad idea to see what other distros do.

Thank you for raising this question. I actually forgot to check for the LTS release, hence the jump to v2.6.7, which is the latest version released 4 days ago.
Looking at the links you included, and from this repository graph, it looks like both release streams (LTS and feature) receive similar bug fixes regularly. With feature stream getting new features and possibly performance improvements, I'm personally leaned towards that option. For the record, Fedora is on version 2.6.6, and we ourselves actually attempted an upgrade to 2.6.1 (see https://github.com/microsoft/CBL-Mariner/pull/2458) for Mariner 2, before having to revert it back due to a regression.
Tagging @jslobodzian @anphel31, could you give me some advice?


Export metrics for each extract job for API calls used

Migrated from GitLab: https://gitlab.com/meltano/sdk/-/issues/210
Originally created by @joshlambert on 2018-04-09 18:30:43

We should capture the number of API calls used by each of our extractors. We could utilize for example the push gateway of Prometheus, and then we can visualize and ultimately receive alerts when we get near limits (could be manually defined, for now).

View 5 previous comments from the original issue on GitLab


Issue-77 - Use of path.join on windows breaks url handling

Fix for Issue-77

Thanks @djvk!  (The TravisCI failure is not related to your changes.)


Update tail from hpcloud/tail to nxadm/tail

Currently it does not always detect rotated logfiles. There are many issues in hpcloud/tail which are not addressed, hpcloud/tail looks dead. nxadm/tail is a fork which solved many known issues.
Fixes: https://github.com/kumina/postfix_exporter/issues/78

This is a critical issue with the continued use of the abandoned hpcloud version of tail.
@BartVerc  @tommie - Can someone please take a look at this and merge? This indeed does fix the issue of detecting and continuing to read rotated log files.

@tommie - Cheers mate!
@BartVerc @Ivaylo-Korakov @flyhard - I see you each have merged commits over the past year or so. Could one of you please have a look at this PR? Cheers!!!
And thank you for all the work developing and maintaining this extremely useful exporter for us all to use!

Thanks for the fix! And sorry for the late response!


Buy orders not working all of a sudden

So, market buy orders aren't working for me all of a sudden. My code didn't change. Is this Coinbase's fault?

To clarify, neither .buy with order type market AND .place_market_order are both not working.
Limit orders are working though


Support extra IAM roles on the Redshift cluster

This adds some new parameters to the CloudFormation template for the Redshift cluster that allows the end user to assign up to 5 additional IAM roles to the cluster. The create, update, and delete paths were all tested with throw-away clusters.
The impetus of this is to allow us to capture manual role additions that have been made in CloudFormation parameters, formalizing them, as well as to let us add a new IAM role that we want to add soon.

This has been tested in dev, and used in prod to update the cluster successfully.


Rework

Due to the code being relatively junky and CLI interface being not user-friendly, I've decided to start the public life of t2osu! with a complete rework.
To-do list

Priority: top-to-bottom -> highest-to-lowest.
Each item in the list will have a separate issue in the future.

[x] #2
[x] Option to remember credentials locally
[x] #3

done, will create a pr after polishing


0 query hits (0 already seen), 0 matches, 0 alerts sent

Hello,
I'm getting "0 query hits (0 already seen), 0 matches, 0 alerts sent" error message.
This is my config.yaml file:
rules_folder: example_rules
run_every:
minutes: 1
buffer_time:
minutes: 15
es_host: localhost
es_port: 9200
writeback_index: elastalert_status
writeback_alias: elastalert_alerts
alert_time_limit:
hours: 10
This is my example_frequency.yaml file:
name: Student alert
type: frequency
index: kafka_connect-*
num_events: 2
timeframe:
hours: 4
realert:
minutes: 0
filter:

term:
Mark: "80"
alert:
"slack"
slack:
slack_webhook_url: "https://hooks.slack.com/services/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"
timestamp_field: Date
timestamp_type: unix_ms

Please some one help me to resolve this issue.

@Shah03Shweta Please shouw me your result of
curl http://localhost:9200/_cat/indices
curl http://localhost:9200/kafka_connect-2020.02.18/_search