Initial implementation

Linux
Linux-aarch64
Linux-rhel
Windows

Thanks for giving this a shot, @emanuelbuholzer.
That error happens with the version of flake8 is too recent. I believe that the changes showed up in 3.8.0, so if you downgrade to a version older than that, you should see improvement.

Thanks @cottsay for the feedback and your work on this. I deleted my original comment, because the tests ran all fine within my CI pipeline and I thought I was maybe a bit too eager. I'm creating an example workspace with some example packages to test some use cases with it further. Hopefully I'll have some more feedback soon.


Utilize Zcash URI

Reproducibility: always
Steps:
Click on a Zcash URI eg. zcash:zs1du0cfxytxjjauyr2lv68qd6jd2d4shcllt5y60fx2hhdlhq4c9r6a9kttfdynpgkygpv2asu5ak
What happened:
Address is not recognized.
Expected result:
Address is recognized. zec-qt-wallet is launched (or brought in focus if already open) and the "Pay From" field in Send tab gets filled with the Zcash address.
Notes:
Feel free to test with my website http://www.dimitrisapostolou.com

Bitcoin Core, Bitcoin ABC and Dash Core clients all utilize their respective URIs.

Related: https://github.com/zcash/zcash/issues/2319

Fixed in master.


Set working directory to file's parent before invoking ansible-lint to better find .ansible-lint files

Problem
Currently, only the .ansble-lint file in the root of the repo seems to affect this extension's ansible-lint. I haven't confirmed it but I am assuming this is because the extension invokes ansible-lint with the full path to the file, from the root of the project as its working directory.
This makes it impossible to define .ansible-lint files in deeper directories to apply differently scoped rules to those directories.
Solution
ansible-lint will look in the working directory for an .ansible-lint file, and if not found will keep looking in parent directories until one is found or it reaches the root of the git repository (https://ansible-lint.readthedocs.io/en/latest/configuring.html#configuration-file):

When configuration file is not found in current directory, the tool will try to look for one in parent directories but it will not go outside current git repository.

So I'm proposing that this extension change the current working directory to that of the file to be linted, and then invoke ansible-lint with just the file name.
For example consider the file to be linted is roles/my_role/tasks/main.yml, the extension would set the cwd to roles/my_role/tasks and invoke ansible-lint main.yml.
That would allow an .ansible-lint file anywhere in the parent(s) to be located, like if there were one in /my_role/ or even in /roles/ for example.
Alternatives
The extension could offer settings instead, like a mapping of directories to specific rules files maybe? But it seems a pain to maintain, and less elegant in the long run.
If the proposed solution is implemented that could also be a configurable setting, in case there are users who want to always use the file in the root (or always use a specific file).
Additional context
One practical reason for wanting this: as a collection maintainer, I want to apply rules to the roles in tests/integration/targets that are different (less strict) than the rules for roles/ which will be published and used by end-users.

I've actually tried the solution you propose - it is exactly how the extension used to work earlier in the development phase. Unfortunately, it made the linter oblivious to any configuration in ansible.cfg, which it needs to function correctly in some cases. This is why I switched to invoking the linter from the root of the workspace - where the Ansible configuration file can usually be found (ansible-lint does not have an option to provide path to the Ansible configuration file).
To cover all scenarios, I propose that the extension mimics behavior of ansible-lint, finds that configuration file going up the directory structure, and if found, feeds it to the linter using the -c option.

I've actually tried the solution you propose - it is exactly how the extension used to work earlier in the development phase. Unfortunately, it made the linter oblivious to any configuration in ansible.cfg, which it needs to function correctly in some cases. This is why I switched to invoking the linter from the root of the workspace - where the Ansible configuration file can usually be found (ansible-lint does not have an option to provide path to the Ansible configuration file).

I see, that makes sense. Didn't even think of that. Thanks for the explanation!

To cover all scenarios, I propose that the extension mimics behavior of ansible-lint, finds that configuration file going up the directory structure, and if found, feeds it to the linter using the -c option.

That seems like a workable solution to me (for my purposes at least).
ansible.cfg files can also be located in deeper directories; unlike ansible-lint, I don't believe the ansible[-*] commands do any searching other than the CWD though. Of course, it's impossible to know from file structure alone how anyone intends to run these commands so it's certainly difficult offer a perfect solution.
The extension could implement config options that control different methods of searching, for both the ansible.cfg and .ansible-lint files. A little more complex, but also more flexible.
For example, I have some Ansible repos that have a few sub-directories that are intended to be like their own little Ansible islands, with their own config and sometimes inventory (I see this pattern with Packer builds a lot).
For my immediate use case though (a collection repo) the proposal to mimic .ansible-lint searching works; maybe a future enhancement could incorporate more options for ansible.cfg searching /loading too.
Thanks once again!

I'm releasing a new version in which discovery of the .ansible-lint file is aligned with the behavior of the ansible-lint command invoked from the directory containing the investigated file. This change was definitely necessary, just following the principle of least surprise, as users might already be accustomed to that linter behavior.
As for a setting for pointing to Ansible configuration. It is worth considering, but for the moment it is impossible to point the linter to that configuration. AFAIK, not even Ansible Tower allows configuring that - it just uses ansible.cfg at the top of the repo.
Finally, a solution/workaround could be switching to VSCode's multi-root workspaces where each directory requiring its own configuration would be a root folder of the workspace.


Forbidden listing resource statefulsets at the cluster scope

Fresh install of KEDA 2.1 using Helm and I tried to create a ScaledObject for a StatefulSet but I get the following error:
ScaledObject doesn't have correct scaleTargetRef specification
I verified that the statefulset did exist though. I then looked at the log for the keda-operator and saw the following:
2021-02-02T00:49:45.145Z	INFO	controllers.ScaledObject	Reconciling ScaledObject	{"ScaledObject.Namespace": "identitymanager-dev", "ScaledObject.Name": "oneimtest-hpa"}
E0202 00:49:45.152664       1 reflector.go:138] pkg/mod/k8s.io/client-go@v0.20.2/tools/cache/reflector.go:167: Failed to watch *v1.StatefulSet: failed to list *v1.StatefulSet: statefulsets.apps is forbidden: User "system:serviceaccount:extension-system:keda-operator" cannot list resource "statefulsets" in API group "apps" at the cluster scope
The scaledobject looks like:
apiVersion: keda.sh/v1alpha1
kind: ScaledObject
metadata:
  name: im-hpa
  namespace: im-dev
spec:
  scaleTargetRef:
    apiVersion: apps/v1
    kind: StatefulSet
    name: im-apiserver
  minReplicaCount: 1
  maxReplicaCount: 5
  triggers:
  - type: cpu
    metadata:
      type: Utilization
      value: 70
  - type: memory
    metadata:
      type: Utilization
      value: 80

Adding a cluster role and rolebinding for the serviceaccount does fix the issue immediately though.
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
  name: keda-operator-statefulsets
rules:
- apiGroups:
  - "apps"
  resources:
  - statefulsets
  verbs:
  - get
  - list
  - watch
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
  name: keda-operator-statefulsets
roleRef:
  apiGroup: rbac.authorization.k8s.io
  kind: ClusterRole
  name: keda-operator-statefulsets
subjects:
  - kind: ServiceAccount
    name: keda-operator
    namespace: extension-system

@dbarentine I suppose you installed KEDA via Helm charts, you are right, we know about the issue. We have already shipped 2.1.1  Helm Charts release that include fix for this:
https://github.com/kedacore/charts/releases/tag/v2.1.1


ensure em_asm template get C++ linkage ( cmake builds )

to avoid on recent emsdk (clang upstream)
In file included from /opt/python-wasm-sdk/emsdk/upstream/emscripten/cache/sysroot/include/emscripten/emscripten.h:23:
/opt/python-wasm-sdk/emsdk/upstream/emscripten/cache/sysroot/include/emscripten/em_asm.h:151:1: error: templates must have C++ linkage
  151 | template<typename, typename = void> struct __em_asm_sig {};
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

got no problem with build_web.sh

    // #include <emscripten.h> remove this
    // leave the following empty
    #define PK_EXPORT

but you need EMSCRIPTEN_KEEPALIVE no ?

but you need EMSCRIPTEN_KEEPALIVE no ?

Could we just copy the macro definition instead of using the whole header?

Please do not change line endings.


Add 'Statistics' button to the the Finance sub category of market creation

Icon design: https://www.figma.com/file/IpIAYVQPeQfuT5TTUboQpo4S/Market-creation?node-id=3392%3A0

added-closing


Explain class definition requirements.

Fix #64

@supadrupa, please review

Thanks!

:tada: This PR is included in version 1.0.1 :tada:
The release is available on:

1.0.1
GitHub release

Your semantic-release bot :package::rocket:


[Support] PiVPN / Wireguard issue on android (ping but connection timeout)

Issue

I have a fresh install of pivpn on a Rpi3. (no pihole present yet).
I forward the port for both ipv4 and ipv6 on my router.
I tested the setup / tunnel using another Linux machine (and hotspot of my phone). No issues there, I can ping / ssh as expected on local network as well as on the www.
On my android phone I installed the wireguard app and scanned the QR code generated via pivpn -qr of the tunnel. I can establish the connection and ping machines

on my local network only via IP (when I try to ping via hostname I get a DNS error)
on the www as usual

In the app

both rx and tx transfer counters are creeping up
in the log, I see something like opservice is null false sometimes with Surface: in front

When I try to connect to any page, e.g. my routers page I get connection timeout

Of course I already searched for similar issues or tested various solutions. Without any success so far.
Console output of      pivpn add or pivpn add nopass
I can create a new interface just fine.
::: Client Keys generated
::: Client config generated
::: Updated server config
::: WireGuard reloaded
======================================================================
::: Done! nopass.conf successfully created!
::: nopass.conf was copied to /home/stefan/configs for easy transfer.
::: Please use this profile only on one device and create additional
::: profiles for other devices. You can also use pivpn -qr
::: to generate a QR Code you can scan with the mobile app.
======================================================================

Console output of      pivpn debug
::: Generating Debug Output
::::		PiVPN debug		 ::::
=============================================
::::		Latest commit		 ::::
commit 443ef51e293a1aaca57cf1f8505a5328ac148fda
Author: Orazio<EMAIL_ADDRESS>Date:   Wed Nov 4 11:45:36 2020 +0100

    Update LatestUpdate.md
=============================================
::::	    Installation settings    	 ::::
PLAT=Raspbian
OSCN=buster
USING_UFW=0
IPv4dev=eth0
IPv4addr=<IP_ADDRESS>/24
IPv4gw=<IP_ADDRESS>
install_user=stefan
install_home=/home/stefan
VPN=wireguard
pivpnPORT=51820
pivpnDNS1=<IP_ADDRESS>
pivpnDNS2=<IP_ADDRESS>
pivpnHOST=REDACTED
INPUT_CHAIN_EDITED=0
FORWARD_CHAIN_EDITED=0
pivpnPROTO=udp
pivpnDEV=wg0
pivpnNET=<IP_ADDRESS>
subnetClass=24
UNATTUPG=1
INSTALLED_PACKAGES=(dnsutils iptables-persistent raspberrypi-kernel-headers wireguard-tools wireguard-dkms qrencode unattended-upgrades)
=============================================
::::  Server configuration shown below   ::::
[Interface]
PrivateKey = server_priv
Address = <IP_ADDRESS>/24
ListenPort = 51820
### begin vpn-f ###
[Peer]
PublicKey = vpn-f_pub
PresharedKey = vpn-f_psk
AllowedIPs = <IP_ADDRESS>/32
### end vpn-f ###
### begin nopass ###
[Peer]
PublicKey = nopass_pub
PresharedKey = nopass_psk
AllowedIPs = <IP_ADDRESS>/32
### end nopass ###
=============================================
::::  Client configuration shown below   ::::
[Interface]
PrivateKey = vpn-f_priv
Address = <IP_ADDRESS>/24
DNS = <IP_ADDRESS>, <IP_ADDRESS>

[Peer]
PublicKey = server_pub
PresharedKey = vpn-f_psk
Endpoint = REDACTED:51820
AllowedIPs = <IP_ADDRESS>/0, ::0/0
=============================================
:::: 	Recursive list of files in	 ::::
::::[4m/etc/wireguard shown below	 ::::
/etc/wireguard:
configs
keys
wg0.conf

/etc/wireguard/configs:
clients.txt
nopass.conf
vpn-f.conf

/etc/wireguard/keys:
nopass_priv
nopass_psk
nopass_pub
server_priv
server_pub
vpn-f_priv
vpn-f_psk
vpn-f_pub
=============================================
::::		Self check		 ::::
:: [OK] IP forwarding is enabled
:: [OK] Iptables MASQUERADE rule set
:: [OK] WireGuard is running
:: [OK] WireGuard is enabled (it will automatically start on reboot)
:: [OK] WireGuard is listening on port 51820/udp
=============================================
:::: Having trouble connecting? Take a look at the FAQ:
:::: https://github.com/pivpn/pivpn/wiki/FAQ
=============================================
:::: WARNING: This script should have automatically masked sensitive       ::::
:::: information, however, still make sure that PrivateKey, PublicKey      ::::
:::: and PresharedKey are masked before reporting an issue. An example key ::::
:::: that you should NOT see in this log looks like this:                  ::::
:::: YIAoJVsdIeyvXfGGDDadHh6AxsMRymZTnnzZoAb9cxRe                          ::::
=============================================
::::		Debug complete		 ::::
:::
::: Debug output completed above.
::: Copy saved to /tmp/debug.log
:::

So everything work except DNS? In the wireguard app, edit your profile and try another dns, like <IP_ADDRESS>.

Thanks for your reply!
After playing around with the rpi followed by a fresh install I cannot reproduce the issue because I don't get that far anymore...
I will look into the current issue, so I am closing this issue for now.


Fix #478 Error updating unique key table & Add Enum support!

This will fix issue when adding, removing, updating table Unique key.

We need better approach to enum type. If we drop the column, we will lost that column data.

Can you make a separate pull request with the fixes for unique keys?


[Feature request] Allow optional parameters in git source URL for submodule checkout

Which file  changes the  generation of  hooks/push-to-checkout.sample?

Hey @jopadan, thanks for the report. I don't think we use git submodules, but I'm not sure what the change you are proposing means. Could you clarify further?

I'm going to close this one, as it hasn't been updated for a month.


[rtsp @ 0x58d0a683b440] method SETUP failed: 500 Internal Server Error

Hi I'm getting an error trying to connect with my cameras and hope you can help me. Error is:
"
[2024-05-29 19:58:58] [DEBUG   ] [viseron.components.ffmpeg.stream.camera_2] - Getting stream information for rtsp://:@<IP_ADDRESS>:554/onvif1
[2024-05-29 19:58:58] [DEBUG   ] [viseron.components.ffmpeg.stream.camera_2] - FFprobe command: ffprobe -hide_banner -loglevel error -print_format json -show_error -show_entries stream=codec_type,codec_name,width,height,avg_frame_rate rtsp://:@<IP_ADDRESS>:554/onvif1
[2024-05-29 19:58:58] [ERROR   ] [viseron.components.ffmpeg.stream.camera_1] - [rtsp @ 0x60f28653c440] method SETUP failed: 500 Internal Server Error
[2024-05-29 19:58:58] [ERROR   ] [viseron.components.ffmpeg.stream.camera_1] - rtsp://:@<IP_ADDRESS>:554/onvif1: Server returned 5XX Server Error reply
[2024-05-29 19:58:58] [ERROR   ] [viseron.components] - Domain camera for component ffmpeg is not ready. Retrying in 20 seconds. Error: FFprobe could not connect to stream. Output: {'error': {'code': -1482175992, 'string': 'Server returned 5XX Server Error reply'}}
[2024-05-29 19:58:58] [DEBUG   ] [viseron.components.webserver.api.handlers] - Routing to CamerasAPIHandler.get_failed_cameras(*args=[], kwargs={}, request_arguments={})
[2024-05-29 19:58:58] [ERROR   ] [viseron.components.ffmpeg.stream.camera_2] - [rtsp @ 0x640f488be440] method SETUP failed: 500 Internal Server Error
[2024-05-29 19:58:58] [ERROR   ] [viseron.components.ffmpeg.stream.camera_2] - rtsp://:**@<IP_ADDRESS>:554/onvif1: Server returned 5XX Server Error reply
[2024-05-29 19:58:58] [ERROR   ] [viseron.components] - Domain camera for component ffmpeg is not ready. Retrying in 20 seconds. Error: FFprobe could not connect to stream. Output: {'error': {'code': -1482175992, 'string': 'Server returned 5XX Server Error reply'}}
"
Config file is:
"
ffmpeg:
camera:
camera_1:  # This value has to be unique across all cameras
name: Varanda - Garagem
host: !secret camera_one_host
port: 554
path: /onvif1
rtsp_transport: udp
username: !secret camera_one_username
password: !secret camera_one_password
camera_2:  # This value has to be unique across all cameras
  name: Varanda - Cozinha
  host: !secret camera_two_host
  port: 554
  path: /onvif1
  rtsp_transport: udp
  username: !secret camera_two_username
  password: !secret camera_two_password

logger:
default_level: debug
Then add an object detector
darknet:
object_detector:
cameras:
camera_1:  # Attach detector to the configured camera_1 above
fps: 1
scan_on_motion_only: false  # Scan for objects even when there is no motion
labels:
- label: person
confidence: 0.75
trigger_recorder: true
  camera_2:  # Attach detector to the configured camera_2 above
    fps: 1
    labels:
      - label: person
        confidence: 0.75
        trigger_recorder: true

You can also use motion detection
mog2:
motion_detector:
cameras:
camera_1:  # Attach detector to the configured camera_2 above
fps: 1
camera_2:  # Attach detector to the configured camera_2 above
fps: 1
To tie everything together we need to configure one more component.
nvr:
camera_1:  # Run NVR for camera_1
camera_2:  # Run NVR for camera_2
"
I don´t  have that problem using the command below:
ffmpeg -rtsp_transport udp -i rtsp://admin:@<IP_ADDRESS>:554/onvif1 streamfile.mkv
The command above connects and generates the file without any issue.
I would like to thank you in advance for your attention and support.
Cheers,
Guaracy

Do you have any special characters in your password?
If so i made some changes in 3.0.0b7 which escapes these special characters

Actually no I don't I use too but had some problems with ffmpeg and had to change. ;)


Speed up python test

This PR speeds up tests to a more reasonable level, while maintaining most of the test coverage.
pytest -s -v --profile tests/python-gpu/test_gpu_updaters.py goes from around 120s to 22s.
I had a failing test for DeviceQuantileDMatrix as well where passing a label with type float64 was passing doubles directly into xgboost and reading them as floats. The root cause was the data handler refactor which was incorrectly handling types in this case. I also noticed that it is possible to create a DeviceQuantileDMatrix using numpy without causing the expected error. For now I have disabled numpy inputs to DeviceQuantileDMatrix altogether.

Codecov Report

Merging #5752 into master will increase coverage by 0.29%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master    #5752      +/-   ##
==========================================
+ Coverage   82.31%   82.61%   +0.29%
==========================================
  Files          12       12
  Lines        2720     2726       +6
==========================================
+ Hits         2239     2252      +13
+ Misses        481      474       -7

Impacted Files
Coverage Δ

python-package/xgboost/data.py
73.06% <ø> (-0.20%)
:arrow_down:

python-package/xgboost/rabit.py
78.57% <0.00%> (+11.46%)
:arrow_up:

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 0be0e6f...df87dc1. Read the comment docs.


Cannot find old posts

So basically when I try to go the Posts page underhub-press, it says that I have 0 post(s).

However, if I navigate to the actual webpage, I find my two posts:

What could the reason for this be?

Try the guidance in
https://hubpress.gitbooks.io/hubpress-knowledgebase/content/buttons/about_synchronise_blog_posts_button.html


Object Versioning for posix/scoutfs

Describe the solution you'd like
We would like to optionally support object versioning compatible with AWS S3. The following requirements/behaviors are expected:

Only enabled when specifically configured
Storing object versions will consume filesystem capacity to store each version of an object. It is possible some filesystems can de-duplicate the data extents, but that is outside of the scope of the gateway and the gateway wont do anything specific to enable this.
Versioning can be enabled/disabled per bucket once configured for the gateway, defaulting to disabled

Objectives
Versioning behavior compatible to AWS S3 when enabled.
AWS documentation can be found here: https://docs.aws.amazon.com/AmazonS3/latest/userguide/Versioning.html
Design
To enable, a directory should be configured for where to store the non-current object versions. The older object versions should not be stored within the gateway root namespace to prevent confusion when accessing the namespace outside of S3. When deleting or uploading an existing object, the older version can be moved to the version directory. If the version directory is within the same filesystem, then the move will likely happen fast not needing to re-write all the file data. If it is not within the same filesystem, then the move will have to copy all file data to the new location. This is handled automatically in file renaming.
Version Namespace
The directory structure for the older object versions does not need to be a compatible namespace with posix filenames like the primary namespace does. The easiest namespace for these would be based on a sha256 hash of the object name, and creating a small directory structure with that name. The top level directory will still need to be the bucket to prevent collisions across buckets. To be nicer to posix filesystems and not have all objects in the same directory, we can split the object name hash into directories based on the first few bytes of the hash. This is a common tactic in other projects.
For example,
bucket: mybucket object: dir1/dir2/myobject
sha256("dir1/dir2/myobject") = cefc8816ed641f7323d2f51e534a48c623364803fa1e7b3227c892eb80b4b100

location of version "1":
<version directory>/mybucket/ce/fc/88/cefc8816ed641f7323d2f51e534a48c623364803fa1e7b3227c892eb80b4b100/1

Version IDs
Each object version in the version namespace has an ID associated with it in AWS that uniquely identifies that object version. We can explore a few options here:

timestamp
counter
random string
uuid
There needs to be some consideration in ordering when listing results. The list object versions probably expects results in time order?

Delete Markers
When an object is deleted, the current object gets moved to versioning and a new empty object gets placed in the primary namespace with a delete marker attribute indicating that this object shouldn't be listed or retrieved (as it was deleted). But older versions can still be restored to replace the delete marker object.
We will likely just add a new xattr to signify that the file is a delete marker, and handle this accordingly in the listing walks.
list-object-versions
We need to enable listing of the object versions as well as objects when list-object-versions called. This can be handled in the listing walk function to look into the version namespace for each object visited.  The walk function results may need to be modified for handling versioning.
RFC
This is intended to be RFC style open to comments.  Any requirement changes or design change proposals can be discussed in issue comments.

We probably need to consider the best naming conventions for the versions. In the above example I listed the version file name as "1", but maybe a timestamp, uuid, or something else should also be considered.  I assume it is expected that list versions would list the versions in mtime order? So we may want something sortable in the way the API response expects.

I think it only makes sense to version file-objects, not directory-objects since versioning directory contents wouldnt really be possible.

We probably need to prevent the versioning directory from being the same as or in the root directory of the posix/scoutfs backend ? As there will be bucket/object collision.

As object versions are ordered by the modification date in ListObjectVersions, a reasonable solution would be to choose version names as the Unix nanoseconds of the last modification date.

The VersionID could simply be a UUID, as it doesn't affect the sorting of object versions. The only requirement is that it must be unique.
The important thing to note is that the VersionID uniquely identifies a version of an object within a bucket. VersionIDs may vary in length but generally look like the following:
3/L4kqtJlcpXroDTDmJ+rmspuAmTeQhF3

I think there are time sortable UUIDs:
https://pkg.go.dev/github.com/google/uuid#UUID.Time
https://github.com/segmentio/ksuid

Another solution which would best match to our use case is using lexicographically sortable, timestamp dependent uuids:
https://github.com/oklog/ulid


Angular Files

Any italic text should be deleted from the final Pull Request text, including this line
Description
Please include a summary of the change and which issue is fixed. Please also include relevant
motivation and context. List any dependencies that are required for this change.
Fixes # (issue)
Type of change
Please delete options that are not relevant.

[ ] Bug fix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as
expected)
[x] Documentation (update or new)

How Has This Been Tested?
Please describe the tests that you ran to verify your changes. Provide instructions so we can
reproduce. Please also list any relevant details for your test configuration
Testing Checklist:

[x] Tested in latest Chrome
[x] Tested in latest Safari
[x] Tested in latest Firefox

Checklist:

[x] My code follows the style guidelines of this project
[x] I have performed a self-review of my own code
[x] I have commented my code in hard-to-understand areas
[x] I have made corresponding changes to the documentation
[x] My changes generate no new warnings
[x] I have requested a review from ... on the Pull Request

New feature

@ashar8888 You need to pass the check before I can merger your request, please check that, thank you.

Duplicated


Fails to build on rustc 1.26.0-nightly (0ff9872b2 2018-02-28)

error[E0599]: no method named `rotate` found for type `&mut std::boxed::Box<[u8]>` in the current scope
    --> src/runtest.rs:2614:30
     |
2614 |                         tail.rotate(data.len());
     |                              ^^^^^^

I believe this was fixed in #102 but has not been released yet.

0.3.7 is out


Error: Task build requires a function that is a function

What were you expecting to happen?
Trying to revive an old project
Expect gulp to work normally
What actually happened?
I get an error :
Error: Task build requires a function that is a function
Please post a sample of your gulpfile (preferably reduced to just the bit that's not working)
gulp.task('build', ['templates', 'styles', 'scripts']);

[Full file] https://github.com/kaustavha/jade-stylus-coffeescript-seed/blob/master/gulpfile.js (45 loc)
What version of gulp are you using?
I've cleared node modules and downgraded to 3.0.0
What versions of npm and node are you using?
$ node -v
v11.11.0
$ npm -v
6.7.0

Rewrote since i couldnt find a solution elsewhere.
Also tried reducing it to gulp@2 and various other dependency tricks


haskell.compiler: no dynamic way without enableShared

My use-case is to build a small/minimal GHC in terms of disk space, to have CI jobs run faster by pulling fewer dependencies from cachix. When I used enableShared = false, I was surprised to see the dynamic variants of all the ghc provided libraries still being built.
This disables building dynamic libraries for GHC 9.4.x and before, when enableShared is set to false. Previously, this only disabled dynamic linking of GHC itself, but still created dynamic libraries.
The hadrian-based GHC 9.6+ already disable building dynamic libraries via the no_dynamic_libs transformer in this case.
Things done
To test, I built haskell.packages.ghc948.th-orphans and haskell.packages.ghc981.th-orphans, making sure template haskell also worked.

Built on platform(s)

[x] x86_64-linux
[ ] 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.05 Release Notes (or backporting 23.05 and 23.11 Release notes)

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

[x] Fits CONTRIBUTING.md.

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

I am not super motivated to build GHC. :innocent:
Just to make sure: You have confirmed that this builds the libs with profiling if requested and doesn’t if not wanted?

Can you adapt the commit message?

Ah, sorry. I wasn’t paying enough attention. Great!


Fixed issue with drop_database not running properly for mysql DBs

Argh, this has sat here for far too long. So sorry! Also, just realised it's a duplicate of #68 - or more to the point, it's a duplicate of your work - and I've just merged that in.
I guess the good news is that at least this is now fixed? :S


dpdk test needs to wait for future to finish

@drunkirishcoder just needs the cargo update associated w/ using prelude.

Codecov Report

Merging #91 into master will increase coverage by 32.67%.
The diff coverage is 100%.

@@             Coverage Diff             @@
##           master      #91       +/-   ##
===========================================
+ Coverage   18.78%   51.45%   +32.67%
===========================================
  Files          69       69
  Lines        4297     4295        -2
===========================================
+ Hits          807     2210     +1403
+ Misses       3490     2085     -1405

Impacted Files
Coverage Δ

framework/src/tests/mod.rs
100% <100%> (+66.66%)
:arrow_up:

...ork/src/packets/icmp/v6/ndp/options/prefix_info.rs
10.34% <0%> (+6.89%)
:arrow_up:

framework/src/interface/dpdk.rs
41.5% <0%> (+15.09%)
:arrow_up:

framework/src/packets/icmp/v6/ndp/options/mtu.rs
24.13% <0%> (+17.24%)
:arrow_up:

framework/src/packets/ip/mod.rs
53.84% <0%> (+21.15%)
:arrow_up:

framework/src/native/mbuf.rs
33.92% <0%> (+33.92%)
:arrow_up:

framework/src/packets/raw.rs
43.75% <0%> (+35.41%)
:arrow_up:

...src/packets/icmp/v6/ndp/options/link_layer_addr.rs
42.85% <0%> (+35.71%)
:arrow_up:

...ramework/src/packets/icmp/v6/ndp/router_solicit.rs
54.54% <0%> (+36.36%)
:arrow_up:

framework/src/packets/ethernet.rs
85.31% <0%> (+46.85%)
:arrow_up:

... and 20 more

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 573f64a...d65cdf0. Read the comment docs.


Race condition closing stream just after writing data

I'm encountering an issue where, when writing to a Stream:
	qstream.Write([]byte{"data"})
	qstream.Close()

Close() indicates "close for writing" - send the data written before, then EOF.
However, the "data" packet is never sent if the Close( ) comes immediately after Write.
If I add a time.Sleep(time.Millisecond) between the Write and Close, it works.
The other end receives a "close" instantly and no data packet.
Perhaps there's a race condition in the code where the last packet is not sent if Close is called instantly after Write?

The stream is carefully designed such that this shouldn't happen. Can you point to exactly where you think the race happens?

@marten-seemann I thought as much; however once I could reproduce the issue I posted here.
That said... I checked into my Write() call stack a bit further, and discovered that probably the Quic Write() was returning bytesWritten < len(data) (as designed) and I was (incorrectly) not repeatedly calling Write until bytesWritten == len(data).
Closing this since after I fixed that, I'm not able to reproduce. Thanks.


Setup nightly run for integration tests

Description
This PR sets up a nightly run that will execute integration tests using a specific tag for the collector image. The purpose of this first setup is to ensure probes for supported versions of collector are still being built and work as intended.
Checklist

[ ] Investigated and inspected CI test results
[ ] Updated documentation accordingly

Automated testing

[ ] Added unit tests
[ ] Added integration tests
[ ] Added regression tests

If any of these don't apply, please comment below.
Testing Performed

Setting up nightly runs has been superceeded by #641.


Angular-UI date picker is in invalid state when given a specified date format while the ng-model has a string value as “yyyy-MM-ddThh:mm:ssZ”

I am getting my date value from Mongoose as "2015-10-08T00:00:00Z" and when this is binded to the angular-ui datepicker, the form filed is shown as "ng-invalid". It seems as though when grabbing the date from the model it comes back as a string when datepicker is searching for a date object. This StackOverflow words the question better than myself and shows the issue.
http://stackoverflow.com/questions/33017677/angular-ui-date-picker-is-in-invalid-state-when-specified-the-date-format-as-d
It also has a solution from user, Chet, I don't know his Github handle but the solution is below
angular.module('test')
.config(['$httpProvider', function ($httpProvider) {

    // ISO 8601 Date Pattern: YYYY-mm-ddThh:MM:ss
    var dateMatchPattern = /^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}/;

   var convertDates = function (obj) {
      for (var key in obj) {
         if (!obj.hasOwnProperty(key)) continue;

         var value = obj[key];
         var typeofValue = typeof (value);

         if (typeofValue === 'object') {
            // If it is an object, check within the object for dates.
            convertDates(value);
         } else if (typeofValue === 'string') {
            if (dateMatchPattern.test(value)) {
               obj[key] = new Date(value);
            }
         }
      }
   }

   $httpProvider.defaults.transformResponse.push(function (data) {
      if (typeof (data) === 'object') {
         convertDates(data);
      }

      return data;
   });
}])

I just wanted to report this bug and hopefully help a few more people find the solution as I've spent 2 days trying to figure it out.

If I understand the use case correctly, this is not a bug.  The datepicker directive expects a Date object for ng-model.  The solution you post above converts EVERY date string in an HTTP response that matches a pattern to a Date object which may not be the desired behavior and certainly not every user will want this.  This is a VERY heavy-handed solution.
Also, you may want to take a look our dateParser service (deprecated and renamed to uibDateParser in 0.14.0) which does this for you.  Here's a link to the source code.

@icfantv Cool thanks for sharing the DateParser, I am still new to Angular so I am trying to figure it out, solid point and why the solution above may not be the best. However, may I ask you how exactly do I use the uibDateParser? Do I just run all of my Date models through the parser as such?
uibDateParser($scope.model.dateObj)

Thanks for your help nonetheless! :)

So if you look at the code for datepicker, you'll see that we use the service internally in several areas to convert a text string value to a Date object.  As with all services in Angular, we just inject it as we normally would with any other dependency.
It's a little by design that the date parser isn't documented anywhere - I don't know that it's designed to be used outside the project.  But basically, it exposes a parse method that takes in an input that's a text string and a format and attempts to create a Date object from that format.  I would ignore the baseDate parameter.
Based on that, you might want to use this service as a starting block for your own application's service and use that instead.


Fixed benchmark calculation (#1)

This fixes #1.

We might want to add a + symbol if the new benchmark is worse, just to make it more clear.

We might want to add a + symbol if the new benchmark is worse, just to make it more clear.

Yes, That would be a nice thing to have.

We might want to add a + symbol if the new benchmark is worse, just to make it more clear.

Yes, That would be a nice thing to have.

Done ;)


feat: add node url to api keys & docs

closes #2277
@prusnak what would you say would be the easiest way to change that label for all languages.  just remove the key for all languages and run  your script?

just remove the key for all languages and run your script?

Yes, I just did that in 72572b5 (which also added some other new strings)


ws: reconnecting chat

This is a high-priority item so I am proposing that we ship it now in its current, working condition, and then come back later to improve some of the functionality. I wrote this chat code a long time ago and have seen lots of ways that it can be improved even during my limited dive into the code, so I am leaving a note of those here:
For the future:

Unit tests
More complete documentation on all of the chat types
Replace "simple" abstract class with interfaces
Remove that god-awful getParameterizedType call
Clean up parsing code

For now, here is an example of how the new API works:
BeamAPI beam = new BeamAPI();
BeamUser user = beam.use(UsersService.class).login("username", "password").checkedGet();
BeamChat chat = beam.use(ChatService.class).findOne(user.channel.id).get();

BeamChatConnectable connection = chat.connectable(beam);
connection.connect();

connection.send(AuthenticateMessage.from(user.channel, user, chat.authkey));

connection.on(IncomingMessageEvent.class, new EventHandler<IncomingMessageEvent>() {
    @Override public void onEvent(IncomingMessageEvent event) {
        // ...
    }
});


keyToggle and keyTap not working on MacOS when the current language is non-Latin

keyToggle and keyTap are working only with ASCII chars.
The dictionary with chars and the key codes is generated using the current language and if this chars are not ASCII we won't be able to find the corresponding key code that we need for executing keyToggle. This will result in not printing any chars.
With this patch, no matter of the current language the dictionary will be constructed only from ASCII chars. This fixes the issue.

Hey,
Any news on this PR?

I'll take a look this weekend, thanks for the PR!

Sorry everyone, releasing and building is currently difficult since I have to spin up a bunch of VMs. I'm going to work on getting TravisCI publishing so it's easier to test and deploy. Thanks for the PR!

@octalmage
I'm using "robotjs": "^ 0.5.1" after this PR is merged, but Segmantation Fault seems to come out if it is Japanese input source.
It works properly if it is set to "US" input source, but is this PR compatible with Japanese input source?


Li/fix cloudtests pipeline

Fix cloud integration pipeline, opensource pipeline, and add create_indexes tests

running cloud tests: https://github.com/marqo-ai/py-marqo/actions/runs/7431501634


environment/libraries for compiling

Hi! I've tried compiling your repository for different ESP32s, but I keep getting compiler error messages on different library lines, no matter how many libraries are added. I've tried with Arduino IDE and PlatformIO.
Could you give some hints about your environment? Do you use one of the two platforms? If so, which extra libraries in which version are needed?
Thank you! Your compiled versions work fine. I've just tried the RasPi Zero version.

i use arduino ide version 1.8.13 and these versions under board control and the board ESP32_dev_module

Its obvious whis libraries should be present. Its impossible to say where it fails so sadly i can't help you here.


Expand memory setting capabilities when arranging tests

I've been using evunit for a while now, and ran into the particular issue that there is little freedom in writing to memory when arranging tests. The README mentions only this:
Finally, memory can be assigned a value in the config file by surrounding a label name in square brackets. You can either assign an 8-bit integer, a string, or an array of either. Like the flags, memory addresses must be quoted because of the square brackets:
This constraints the developer in only being able to use labels as ways to set memory contents. But what about pushing values to the stack? Or when you just need some memory buffer, but don't care about where it sits? Currently, the developer is forced to pollute the source code with random labels to be able to assign them.
To fix this, I would like to propose a few features:

Allow arbitrary integer values to be used as labels instead. E.g. "[0xC000]" = 0x55 would write the value 0x55 at WRAM address 0xC000. Integer formats should then be the same as supported in TOML to avoid confusion and provide maximum flexibility.
Have some way of setting up the stack. Some functions may have large variables or use a great number of them. A way to pass these values is to push them on the stack. However, there is no easy way to do this using evunit due to the reverse nature of the stack. I have a proposed way of doing this below.
Allow arithmetic in labels. I can do it in RGBDS assembly, why not when testing (e.g. "[some_label+1]" = 0x69)? Although, I don't know if the need of this feature will be made obsolete when implementing the other above features. Having them, I cannot really think of a use-case for this one. It will also probably take some considerable work to implement this, so I'll leave it as a nice-to-have.

Proposed way to set up the stack
A continuation of point 2 above. A way to setup the stack could be having a special field for it (e.g. stack). Then, say we want to push values to the stack, we assign an array to this field with the values we want to push to the stack. In TOML, this could look like:
stack = [ 0x55, 0x66 ]

This would be roughly equivalent to running the following imaginary instructions before executing the test function:
dec sp
ld [sp], $66
dec sp
ld [sp], $55

Loading these values in reverse seems more logical due to the stack working in reverse, but it could work either way. Strings could also be allowed in assigning values on the stack, similar to when assigning to a label (e.g. stack = [ "hello world", 0 ]). Although, I wonder if this will be used.
Using this manner of stack assigning, would leave something to be done with the value assigned to sp. Since the stack is modified, the pointer to it would need to move as well. I propose to initialise it with the user specified value first, then to decrement it as values are pushed unto the stack (as in the assembly example above) and have that modified pointer kept that way as the test is ran. Then when the test function returns, we pop the added values and return to caller, ending the test. I think that is a rather clean way to handle this and shouldn't cause any problems.
To maintain reverse-compatibility, stack would be an optional parameter. If not specified we leave the stack and its pointer as is, keeping the status quo.
Concluding, I would like to hear any thoughts regarding this proposal and then I'll add these features myself.

I was thinking about how to handle the stack and found an issue with pushing that values to the stack. The way I described above wouldn't work, since normally caller sits at the stack pointer address for the call to ret to jump to caller. That would mean that the values would need to be pushed before pushing caller, not after.
As an example, with the following example...
[example]
caller = 0x1234
sp = 0xDFFF
stack = [ 0x55, 0x66 ]

... the stack would look as follows at the start of the test...
| Address | Data |
| ------- | ---- |
| 0xDFFF  | 0x66 |
| 0xDFFF  | 0x55 |
| 0xDFFF  | 0x12 |
| 0xDFFF  | 0x34 |    <-- stack pointer currently points to this

In this manner, ret would still be able to return to the caller while the arguments would be accessible via the stack pointer.

These are good ideas; in the mean time, I think you can accomplish the same thing by using evunit as a Rust library instead of via the command line.

It looks like one could do it with TestConfig::memory and changing sp afterwards, but it's not particularly straightforward. I try to avoid using the library, since I rather like the TOML approach. It's easy to read and write.
But I'm glad that you think positively about my proposal. I'll see if I can get around implementing it and keep you updated.

Closing issue, since pull request was merged


Add file extension to the mapping?

Might make sense to have a way to include the file extension for a format, could be a property in the mapping file, but we'd need refactor it a little bit

This is resolved with https://github.com/DemiCloud/universal-media-metadata/commit/d2a3683d2f5ef7c70f29ef2740d71b0e35d2d3e4


Test Endpoint

I looked to see if there is any information about this anywhere and was having a hard time locating it so maybe this will be helpful for others if there is a simple solution to this.
So I ran into an issue when you stopped supporting nodemailer and it resulting in my system crashing every time a person triggered a transaction that would result in an email being sent.  Is there any test endpoint that we can use for tests just to validate that our transactions are still working if there is another breaking change that ever gets introduced.  If not is there a process to request test endpoints be added.

Hello @couturecraigj,
You can setup your own local test SendGrid API server using this process: https://github.com/sendgrid/sendgrid-nodejs/blob/master/CONTRIBUTING.md#testing


Add back FreeSolv curation

Description
In #496, I removed the FreeSolv curation module, I think a mistake. There's no replacement for Yank, but that doesn't necessarily mean the data provider should be removed.
Todos
Notable points that this PR has either accomplished or will accomplish.

[ ] Add back FreeSolv curation

Status

[ ] Ready to go

Okay, this is not so straightforward. The class needs SolvationFreeEnergy to exist - maybe it can be added back without properly being able to run.


Data-broker - Mapping directly the subject to the Kafka's topics

Nowadays there is a subject mapping to a uuidv4 identifier that is in fact the Kafka's topic name. The proposal is to map the subject directly to the Kafka's topic. In this way, it is possible utilize the "sdk" library for new components and the services will keep running.

Done.


fix: update sign data structure

After discussion with a team, we decided to get rid of flatten structure and put the payload to payload.

:tada: This PR is included in version 1.15.2 :tada:
The release is available on:

GitHub release
npm package (@latest dist-tag)

Your semantic-release bot :package::rocket:


Option to overwrite buffer size on upload file api

Problem statement
We need to have an option to set smaller buffer size while generating of upload file api
Right now it is hardcoded 32mb ParseMultipartForm(32 << 20) will be very helpful to have an option to overwrite it.
Environment
swagger version: 2.0

Why not. You can bring in a PR with that kind of extra setting set on the CLI (most likely an option to the generate server command only)

The setting is here: https://github.com/go-swagger/go-swagger/blob/b8298e06c71243ef46bf553e3c18ed91d8539b8d/generator/templates/server/parameter.gotmpl#L393

The setting is here: https://github.com/go-swagger/go-swagger/blob/b8298e06c71243ef46bf553e3c18ed91d8539b8d/generator/templates/server/parameter.gotmpl#L393


Convert detect intent query result response to slack message

It there a way to convert response from intent api such below into prepared slack request body suitable for slack postMessage api?
"queryResult": {
    "fulfillmentMessages": [
      {
        "platform": "SLACK",
        "card": {
          "buttons": [
              ...
         ]
      }

So we have custom integration with slack by nodejs server. It means that server listens slack event by webhook. We use dialogflow api to detect intents then we use slack bot api to post message in channel. So now we manually parse response from Dialogflow api in prepeareForSlackMessage function and it's really painful. So It there another way to handle this case?
slackEvents.on('message', async event => {
  if (event.bot_id || (event.subtype && event.subtype === 'bot_message')) {
    return;
  }
  const responses = await dialogFlowClient.sendTextMessageToDialogFlow(event.text, event.channel);
  const response = responses[0];
  try {
    const { text, attachments } = prepareForSlackMessage(response);
    await slackApi.chat.postMessage({
      channel: event.channel,
      text,
      attachments
    });
  } catch (e) {
    console.log(e);
  }
});

This is a library to help with parsing webhook requests form Dialogflow not Slack.  If you already have a Slack integration you will need to port your Slack app to Dialogflow.


Cloud9 integration does not work properly with GitHub challenge on FreeCode Camp

Challenge Manage Packages with npm has an issue.
User Agent is: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36.
Please describe how to reproduce this issue, and include links to screenshots if possible.
Make sure that this is error does not occur again. I cannot read these following links as of yet properly.

Unfortunately, this is beyond our control, and you would have to change the syntax highlighting and/or the UI theme from C9 settings.
Reference can be found here:
https://docs.c9.io/docs/syntax-highlighting-themes


Double Option Code 34

In packet.go line 260 & 261
This is typo?

Yes it is.  Please submit a fix :-)


improve builtin read command

disable echo back
set timeout

support no echo in commit 6d157ba93c3c4603f32ecaa221911727628ea3bf

support timeout in commit feed9fc89d09730be836c1c091a8905342715501


Option for keeping the block cursor in insert mode.

I am using a block cursor, but in insert mode it goes to a line cursor. Any idea how to fix this? Or is it just impossible in the current release?

OK. I'll add this option.

Btw. When pressing o or O currently their is currently no indentation.

I support this option. Please update this plugin.

Indentation bug may be fix with #38 .


1.1.0RC2/RC1 Performance degradation

Slowdown was discovered in case we compare training time obtained on release version - 1.1.0rc2(1.1.0rc1)https://pypi.org/project/xgboost/#history vs custom build on head (c42f533ae992f79728020939184a7a7002324e7c) of release branch(https://github.com/dmlc/xgboost/commits/release_1.1.0) we will see next results:

dataset
1.1.0rc2(1.1.0rc1)
custom build on c42f533ae992f79728020939184a7a7002324e7c

higgs1m
21.33s
16.24s

mortgage1Q
22.0s
17.67s

25% slowdown in average.
custom build was obtained by default instruction:
mkdir build
cd build
cmake ..
make -j4

gcc version:
gcc (Ubuntu 7.5.0-3ubuntu1~18.04) 7.5.0
higgs1m is public benchmark (https://github.com/dmlc/xgboost-bench/tree/master/hist_method).
note we can see big difference from run to run measurements on rc1/2 build:
higgs1m:
rc1: 21.3283 sec ( [19.96872500400059, 20.516250001004664, 21.93073065700446, 22.897386002005078, 32.79936764600279] )
vs
custom: 16.2467 sec ( [15.885650180993252, 15.897585067999898, 16.517098495001846, 16.686414559000696, 18.001827495994803] )

RC2 is actually at commit 8aaabce7c9540e242dc47dd0fe6490981f35d1cf of the same release branch. Two commits have been made on top of RC2. So it seems like these two commits actually improved the performance?

Another possibility is the build environment. The PyPI wheels are built using CentOS 6 + GCC 5.x. So your custom build may be using native platform-specific optimization that’s not available in the PyPI build.

What I see - new PRs shouldn't impact in the performance.
Different env is the most possible root cause. Do we use a docker container to build PyPI build? If so - how to get this?
Thank you!

You can run the following command at the project root:
tests/ci_build/ci_build.sh gpu_build docker -it --build-arg CUDA_VERSION=9.0 \
  tests/ci_build/build_via_cmake.sh -DUSE_CUDA=ON -DUSE_NCCL=ON \
  -DOPEN_MP:BOOL=ON -DHIDE_CXX_SYMBOLS=ON
tests/ci_build/ci_build.sh gpu_build docker -it --build-arg CUDA_VERSION=9.0 \
  bash -c "cd python-package && rm -rf dist/* && python setup.py bdist_wheel --universal"

I think there are techniques for detecting supported instructions on runtime depending on platforms.  On linux that would be simply parsing /proc/cpuinfo, and check against whether they are used during build.

@trivialfis, probably, I missed you - do you mean that supported instructions sets depend on a platform where XGBoost was built?
If so - it means, that the build will be different depending on platform where it was build.
Also, in old Makefile we had usage of sse2 explicitly always. Is it not true now for CMake?
I suppose the issue is not solved yet. Probably, we have non-optimal env for XGBoost building or so on.

@SmirnovEgorRu The default binary distribution is not optimal and I don't think it can be.  As it uses older gcc (5.x), also non aggressive optimization level.  Also I'm not sure LTO is enabled in that case.  If you want optimal performance on default build, than we need to do PGO on test farm.

do you mean that supported instructions sets depend on a platform where XGBoost was built?

No.  I haven't use tensorflow for a while.  But I remember that if you download from pip, it gives a warning saying tensorflow supports avx2 but the current binary is not built with this compiler flag enabled.

We have limit on what kind of optimization we can do, since PyPI wheels have to support a wide range of machines.  For example, we cannot use AVX512 instructions.
However, I think the more probable cause is the library dependencies. Unfortunately, there's not much we can do about libraries, since PyPI requires that all Linux builds use CentOS 6. See https://www.python.org/dev/peps/pep-0571/

@hcho3, @trivialfis, I agree that there are things what we can't do in public PIP releases.
But anyway it makes sense to investigate the problem. There are 2 scenarios:

we will leave it as is, because changes will affect usability of the product
fix it if there is no impact to the users in terms of usability

@SmirnovEgorRu Thanks. We'll keep this issue open for now.

I did experiments with gcc 5.5 instead of  7.5 version. Results are the same

dataset
custom build on 8aaabce gcc 5.5
custom build on c42f533 gcc 7.5

higgs1m
16.29s
16.24s

and if I use docker for build sudo tests/ci_build/ci_build.sh gpu_build docker -it --build-arg CUDA_VERSION=10.0 tests/ci_build/build_via_cmake.sh -DOPEN_MP:BOOL=ON -DHIDE_CXX_SYMBOLS=ON I obtain the same results:
16.26s

but if i use -DUSE_CUDA=ON -DUSE_NCCL=ON additionally I get the described regression.
If we summarize current problem we can see:
that build with -DUSE_CUDA=ON introduce ~25% degradation for CPU

dataset
custom build on  8aaabce -DUSE_CUDA=ON
custom build on  8aaabce -DUSE_CUDA=OFF

higgs1m
21.33s
16.24s

mortgage1Q
22.0s
17.67s

That's weird.  Let me try a bit more.

Interesting. Could it be because of code bloat?

I hope that modification of ci_build.sh file doesn't affect it
set -x
${DOCKER_BINARY} run --rm --pid=host \
    -v "${WORKSPACE}":/workspace \
    -w /workspace \
    "${DOCKER_IMG_NAME}" \
    "${COMMAND[@]}"

I neede it to get libxgboost.so from docker run:
lines
    ${USER_IDS} \
    "${CI_DOCKER_EXTRA_PARAMS[@]}" \

were deleted

I released 1.1.0 today, as scheduled. If we happen to find a way to speed up PyPI releases without compromising usability, we could release a patch release (1.1.1).

@hcho3, got it, thank you!
@ShvetsKS, let's make that possible.

seems the root cause was found, and https://github.com/dmlc/xgboost/pull/5720 was prepared as attempt to fix it.

@hcho3, the issue is solved in master. Can we release 1.1.1?
Thank you!

@SmirnovEgorRu @ShvetsKS I filed #5732 to release 1.1.1.

1.1.1 is now out.

@hcho3, I appreciate this, thank you!


Removed pytorch footer in docs

Description:

Removed footer in docs

Fixes #498
https://vfdev-5.github.io/functorch/

Not a big deal, but I don't quite like the all black, perhaps because the bottom of the text "Built with Sphinx using a theme provided by Read the Docs." is too close to it. Is it possible to either (1) add some space between that last sentence and the black or (2) change the black to white?


Fix tabmat pin

Checklist

[x] Used a personal fork of the feedstock to propose changes
[ ] Bumped the build number (if the version is unchanged)
[ ] Reset the build number to 0 (if the version changed)
[ ] Re-rendered with the latest conda-smithy (Use the phrase @conda-forge-admin, please rerender in a comment in this PR for automated rerendering)
[ ] Ensured the license file is being packaged.

And adding myself as maintainer.

Hi! This is the friendly automated conda-forge-linting service.
I just wanted to let you know that I linted all conda-recipes in your PR (recipe) and found it was in an excellent condition.


Support darwin-arm64

Running gh upgrade --all reports:
[graph]: already up to date
[label]: gh-label unsupported for darwin-arm64. Open an issue: `gh issue create -R heaths/gh-label -t'Support darwin-arm64'`
[markdown-preview]: upgrade complete

... so, raiding this issue!

Thanks for the suggestion! I currently use https://github.com/cli/gh-extension-precompile to compile and publish the binaries, so you'll need to file a feature request there. The https://github.com/cli/cli will also likely need a change to check for and download darwin-arm64 releases as well.
/cc @vilmibm

There's a PR already available, but waiting for cli/cli changes: https://github.com/cli/gh-extension-precompile/pull/3

The latest GitHub CLI 2.8.0 release fixes this by falling back to amd64 binary if Rosetta is installed. If an arm64 binary is found, for example as a product of the latest gh-extension-precompile action, however, then its codesigning is fixed after downloading to allow execution by the OS.

@mislav so if I understand you correctly, if we can't/won't sign our arm64 binaries we should not upgrade to the latest gh-extension-precompile action?


MIL-31: Changes in development process

What's up?
In the final Milestone Group review the executive summary should mention about the changes we made in the development process.
To Do

[x] Describe any changes your team has made or planned based on previous milestones to improve the development process, explain how those changes will impact your process.

Deadline
02.01.2023 @23.55 strict
Additional Information
No response
Reviewers
No response

I added a section called 'Changes in Development Process' to the final milestone group review doc. You can see it here.

please review: @BElifb @KarahanS @serdarakol

Reviewed, thanks for the efforts. Some problems I've noticed:

After Milestone 2, we had a little missing functionalities in the backend.

Well unfortunately, this is not totally correct :D

This way we could show all of the implemented functionalities of the backend in the demo presentation.

Did you use could as we could have here. Is it the case? Because unfortunately we couldn't show all of the implemented functionalities in the demo.

Text and image annotations
Lexical search
Recommendation system that tracks the user activity
Bidding system for the art items

Offline and virtual exhibitions are missing here - which took a majority of our time (it has this PR which is the most commented PR we have so far :D - thanks to detailed review of @BElifb)

Semantic search is missing.
Copyright is missing.
Ticket system is missing.
We discussed and assigned all the tasks above, if you're not planning to add them to the list, I think you should change this line then:

The prioritizing of the implementation of the remaining functionalities helped us showcase the following functionalities.

We can change it like "Features implemented in the remaining time were: ...".

I deleted the word 'little'
added offline and virtual exhibitions (so sorry for missing that out)]
change the to to "Features implemented in the remaining time were:"

@KarahanS

Closing, since it is completed and approved.


Does not support Chinese

Thank you develop the library, but does not support Chinese, looked at them, use regular expressions, no modification is successful, I hope you can support the Chinese as soon as possible, thank you.

Hi @weiFans. Thanks for reporting this issue. It should be resolved by tackling #1 in the future.

Please fix this issue for Russian language too.

Suggestion for the detection regular expression: [\w\_]+

If you only need Chinese and English support, check this https://github.com/nanhuo/ActiveLabel.swift

Please check my pull request #78. The problem is solved. You can override regex patterns as you wish. And there are some really good regex for hashtags and mantions with multilanguage support in Tests.


renamed cartesian limits file

Description
Renamed cartesian_limits.yaml to avoid warning when running dual arm demo
Checklist

[ ] Required by CI: Code is auto formatted using clang-format
[ ] While waiting for someone to review your request, please consider reviewing another open pull request to support the maintainers

Thank you @henrygerardmoore !


Return value itself that holds the data on POST requests

The issue is when there is a form error, QuillFormJSONField shows empty value even if the field has data. If the users does not realize that, they erase data without even knowing it.

Thank you! @KaratasFurkan


soql and sosl nodes connection errors are caught by the Catch All node but not query errors (dml node too)

In the soql and sosl nodes, if there's an issue with the connection it get's raised and caught by a Catch All node, but if there's an issue with the query the error isn't caught by the Catch All node.
E.g.

If I set the connection to "Add new connection-config" the error ("TypeError: Cannot read property 'callbackUrl' of null") will be raised and captured by a "Catch All" node.
If I put in a bad search query in to the sosl node the error (eg "No search term found. The search term must be enclosed in braces.")  isn't caught by the "Catch All" node, but it is written to the terminal window.

Good catch, I'll see how we can fix that. Error needs to bubble up from the nforce library

As an FYI ... my intern was playing with this to see if there's an easy fix, and this isn't an issue if you switch to the main nforce library. So at some point the nForce library fixed this issue.

As a note:  same thing is happening with the DML node.  Fairly routine SF errors (such as the ones below) are not getting caught.
Example errors not getting caught:

Record Currently Unavailable: The record you are attempting to edit, or one of its related records, is currently being modified by another user. Please try again.
invalid cross reference id
bad value for restricted picklist field

Another related case for this ... Due to a problem with our VPN our Node-Red server can't access SalesForce. The error isn't being handled correctly (i.e. the node is just getting stuck with a status of "Connecting".
This the the error from the logs:
You have triggered an unhandledRejection, you may have forgotten to catch a Promise rejection: Error: connect ECONNREFUSED <IP_ADDRESS>:443     at Object._errnoException (util.js:1003:13)     at _exceptionWithHostPort (util.js:1024:20)     at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1194:14)
The ECONNREFUSED error is actually coming from our VPN issue, but the Nodes are not catching the error.

Fixed in 0.7.0


Will there be a risk of data corruption when the wsl mounts the hard disk and runs raid5

Version
10.0.22621.819
WSL Version

[X] WSL 2
[ ] WSL 1

Kernel Version
<IP_ADDRESS>
Distro Version
Ununtu 20.04
Other Software
No response
Repro Steps
I mount three hard disks on the wsl and set raid5.
I wonder if the group raid5 in the wsl directly shuts down Windows or runs wsl -- shutdown will affect the data loss of raid5
/etc/wsl.conf :
[boot]
command = time /bin/bash /root/boot.sh > /root/boot.log 2>&1
systemd=true

[interop]
enabled = true
appendWindowsPath = true

/root/boot.sh :
for wdc in $(powershell.exe GET-CimInstance -query \"SELECT \* from Win32_DiskDrive\" | grep -E "WDC  WUH721816ALE6L4|Samsung SSD 960 EVO 1TB" | awk '{print $1}') ; do
  wsl.exe --mount $wdc --bare;
done
[ -e "/dev/md0" ] || mdadm --assemble /dev/md0 --uuid=9a67938a-5a74-4d30-59d0-fecb62db04b2
if ! mount | grep " /mnt/wsl/raid5 " > /dev/null; then
    mount UUID=70a15308-ab75-462b-96b9-0f851cf7245f /mnt/wsl/raid5
    mdadm --detail /dev/md0
fi

Expected Behavior
Very worried about raid5 damage
Do you need to stop raid5 to run wsl -- shutdown or shut down Windows
umount /mnt/wsl/raid5
mdadm --stop /dev/md0

Actual Behavior
Currently in normal operation
Diagnostic Logs
No response

@androiddisk: There is no mechanism to stop a mdadm raid when WSL shuts down today  so calling mdadm --stop is definitely a good idea.
In theory I'd imagine that mdadm raids are designed not to lose data when the machine shuts down without properly unmounting its devices, but if you're that worried about data losses, I definitely recommend doing regular backups.

@androiddisk: There is no mechanism to stop a mdadm raid when WSL shuts down today so calling mdadm --stop is definitely a good idea.
In theory I'd imagine that mdadm raids are designed not to lose data when the machine shuts down without properly unmounting its devices, but if you're that worried about data losses, I definitely recommend doing regular backups.

Thank you I see


Correct class name

@tonyhallett : Thanks for your contribution! The author(s) have been notified to review your proposed change.

There are other issues with https://docs.microsoft.com/en-us/visualstudio/extensibility/ux-guidelines/colors-and-styling-for-visual-studio?view=vs-2019&source=docs
The links on this page do not exist

The table at WPF Team Blog: SystemColors Reference indicates the complete set of system color names, and the corresponding hues displayed in each theme.

Code examples use SolutionExplorerColors.  In which dll is this defined ?
It is not in Microsoft.VisualStudio.Shell.15.0/<IP_ADDRESS>, Microsoft.VisualStudio.Shell.Framework <IP_ADDRESS> ( or Microsoft.VisualStudio.Shell.UI.Internal )
button.BackColor = GetThemedGDIColor(shell5, SolutionExplorerColors.SelectedItemBrushKey);

This repo could be of use https://github.com/github/VisualStudio/tree/master/src/GitHub.VisualStudio.UI/Themes
Also for High Contrast
From https://docs.microsoft.com/en-us/windows/apps/design/accessibility/high-contrast-themes

The ThemeResourceKey objects
EnvironmentColors.SystemWindowTextColorKey
EnvironmentColors.ControlLinkTextColorKey
EnvironmentColors.ControlLinkTextHoverColorKey
EnvironmentColors.ControlLinkTextPressedColorKey
EnvironmentColors.SystemGrayTextColorKey
EnvironmentColors.SystemHighlightTextColorKey
EnvironmentColors.SystemHighlightColorKey
EnvironmentColors.SystemButtonTextColorKey
EnvironmentColors.SystemButtonFaceColorKey
EnvironmentColors.SystemWindowColorKey

Other ThemeResourceKey objects ( in addition to those from EnvironmentColors ) from properties of
CommonControlsColors
TreeViewColors
StartPageColors
CommonDocumentColors
HeaderColors
InfoBarColors
ProgressBarColors
SearchControlColors
ThemedDialogColors
UnthemedDialogColors
VisualStudioInstallerColors
( and there are some in Shell.UI.Internal )

When discussing IVsFontAndColorStorage, https://github.com/microsoft/VS-ColorThemes is a good source for obtaining category Guids for OpenCategory.
https://github.com/microsoft/VS-ColorThemes/blob/25958bd61f94192360fcdd8a2f9c9be4232e1997/VSColorThemes/Themes/PlainDark.xml#L7142
    <Category Name="Text Editor Text Marker Items" GUID="{ff349800-ea43-46c1-8c98-878e78f46501}">
      <Color Name="Coverage Touched Area">
        <Background Type="CT_RAW" Source="FF9BD1E1" />
        <Foreground Type="CT_RAW" Source="FF000000" />
      </Color>
      <Color Name="Coverage Not Touched Area">
        <Background Type="CT_RAW" Source="FFEDE0D1" />
        <Foreground Type="CT_RAW" Source="FF000000" />
      </Color>
      <Color Name="Coverage Partially Touched Area">
        <Background Type="CT_RAW" Source="FFB4B6CB" />
        <Foreground Type="CT_RAW" Source="FF000000" />
      </Color>

For

It would also be beneficial to add the EnvironmentColors that correspond to the Usage Patterns
SystemActiveCaptionColorKey
SystemCaptionTextBrushKey
SystemThreeDFaceColorKey
SystemThreeDShadowColorKey
SystemThreeDDarkShadowColorKey
SystemThreeDLightShadowColorKey
SystemThreeDHighlightColorKey
ButtonTextColorKey
SystemGrayTextColorKey
SystemHighlightColorKey
SystemHighlightTextColorKey
** cannot find entry for hottrack** this link suggest it is the same as Highlight.  Perhaps it is
LightColorKey
SystemInactiveCaptionColorKey
SystemInactiveCaptionTextColorKey
SystemMenuColorKey
SystemMenuTextColorKey
SystemScrollBarColorKey
SystemWindowColorKey
SystemWindowFrameColorKey
SystemWindowTextColorKey

#sign-off


In the new cell dropdown, why do we have to use alt?

When we hit shift-enter to create a new cell, we are already in a "mode" where it is not expected that keystrokes would go to the currently selected cell. So why do we have to add "alt" to our next keystroke? It would make sense to select options just by normal keys, i.e. "t", "s", etc.

Maybe we could somehow visually emphasize that "alt" has already "logically" been pushed down by writing the "alt +" in "alt + t" in grey.

Now that we are going to use the typeahead for selecting, we can retain the alt shortcuts cleanly; typing normally still does something.

Resolved by #57.


Kiosk mode

I'm trying to add Fusion as the only dashboard that my guest account can see.
Given that Fusion is not really a dashboard that I can edit the code to add
kiosk_mode:
non_admin_settings:
kiosk: true
ignore_entity_settings: true
On its raw configuration for dashboard. Is there a way to get this working for this one?
I tried to add it to fusions raw code Editor but that didn't work either.
Any help would be greatly appreciated.
Thanks a lot

Go to fussion addon, settings , and configure an access port

Then if you go to your HA ip http://192.xx.xx.xxx:8099?menu=false
And put Dashboard with URL. I think

Or try http://192.xx.xx.xxx:8099?kiosk

That didn't quiet work.
I have to use
http://192.xx.xx.xxx:8099/XXX_ha_fusion/ingress?kiosk  -- Even ?menu=false doesn't work :(
Otherwise putting
http://192.xx.xx.xxx:8099/?kiosk
will just direct me to the default dashboard. Right now i have blank. Not the fusion dashboard.

This is how I cast the fusion page to a nest hub

Oh that is SWEET! Thats exactly what i want, and you got the menu at the top disappeared.
Right now i have my HA through cloudflare tunnel.
It's at my second home property 5000miles away.

Thanks!

 That worked but small problem.

All of the icons and graph are missing :(
Second question: How did you remove the DOWN arrow on top right

to cast you need https://github.com/AlexxIT/DashCast integration and make and automation like this:
alias: DashCast Nest HUB HA
description: ""
triggers:
  - entity_id: media_player.nesthubea23
    to: "off"
    for:
      minutes: 1
    trigger: state
  - entity_id: media_player.nesthubea23
    to: paused
    for:
      minutes: 1
    trigger: state
  - entity_id: media_player.nesthubea23
    to: idle
    for:
      minutes: 1
    trigger: state
conditions:
  - condition: state
    entity_id: binary_sensor.192_168_10_225
    state: "on"
actions:
  - data:
      force: true
      reload_seconds: 0
      entity_id: media_player.nesthubea23
      url: http://<IP_ADDRESS>:8099?menu=false
    action: dash_cast.load_url
mode: single

OMG You are a genius! That worked but small problem.

All of the icons and graph are missing :(
Second question: How did you remove the DOWN arrow on top right

I dont know, internet conection problems? or you need to refresh, in my cast no have any of this problems.
The arrow hide with ?menu=false

clear browser cache? Ctrl+F5

Ah i see.
Right now my Home Assistant is on a wall mount tablet at the property.
I think the reason the script / icons / graphs don't works is because i'm running this through my CloudFlare tunneling (remote connection). I will try this out when i'm at the property and local network.
Thanks soooo much! This was helpful.

You can try how the cast looks with this
https://stestagg.github.io/dashcast/
Force display? put yes

The only downside with this template is that it does not allow for temperature control.
Right now i have a thermostat and can't create an object that has
[+] CURRENT TEMP [-]
OR even those dials slider as seen below.

The only downside with this template is that it does not allow for temperature control. Right now i have a thermostat and can't create an object that has
[+] CURRENT TEMP [-]
OR even those dials slider as seen below.

I don't know about that, I'm just a simple fusion user. But what I can tell you is that it is in beta phase, the basics work.
I use it because of how it looks on googlenesthub2 and because the interface loads faster on it.

here you have more information:
https://community.home-assistant.io/t/ha-fusion-a-modern-easy-to-use-and-performant-custom-home-assistant-dashboard/662071/123


Native support for Konnect integration in DataPlane

Problem Statement
Currently, to deploy DataPlanes that will sync with Konnect Control Plane, one has to define a very verbose PodTemplateSpec patch that will define all the required environment variables Kong Gateway needs for that purpose:
apiVersion: gateway-operator.konghq.com/v1beta1
kind: DataPlane
metadata:
  name: dataplane-example
  namespace: kong
spec:
  deployment:
    podTemplateSpec:
      spec:
        containers:
        - name: proxy
          image: kong/kong-gateway:<IP_ADDRESS>
          env:
            - name: KONG_ROLE
              value: data_plane
            - name: KONG_DATABASE
              value: "off"
            - name: KONG_CLUSTER_MTLS
              value: pki
            - name: KONG_CLUSTER_CONTROL_PLANE
              value: YOUR_CP_ID.us.cp0.konghq.com:443
            - name: KONG_CLUSTER_SERVER_NAME
              value: YOUR_CP_ID.us.cp0.konghq.com
            - name: KONG_CLUSTER_TELEMETRY_ENDPOINT
              value: YOUR_CP_ID.us.tp0.konghq.com:443
            - name: KONG_CLUSTER_TELEMETRY_SERVER_NAME
              value: YOUR_CP_ID.us.tp0.konghq.com
            - name: KONG_CLUSTER_CERT
              value: /etc/secrets/kong-cluster-cert/tls.crt
            - name: KONG_CLUSTER_CERT_KEY
              value: /etc/secrets/kong-cluster-cert/tls.key
            - name: KONG_LUA_SSL_TRUSTED_CERTIFICATE
              value: system
            - name: KONG_KONNECT_MODE
              value: "on"
            - name: KONG_VITALS
              value: "off"
          volumeMounts:
            - name: cluster-certificate
              mountPath: /var/cluster-certificate
            - name: kong-cluster-cert
              mountPath: /etc/secrets/kong-cluster-cert/
              readOnly: true
        volumes:
          - name: cluster-certificate
          - name: kong-cluster-cert
            secret:
              secretName: kong-cluster-cert
              defaultMode: 420

It's not the best user experience as there's a lot of repetition and it's easy to make a mistake.
We should make DataPlane natively integrated with Konnect by extending the CRD with a Konnect-specific spec section.
Proposed Solution
Extend DataPlaneOptions with Konnect section as below:
// DataPlaneOptions defines the information specifically needed to
// deploy the DataPlane.
type DataPlaneOptions struct {
        // ...

	// +optional
	Konnect *KonnectOptions `json:"konnect,omitempty"`
}

// DataPlaneKonnectKind defines the kind/role of the DataPlane deployment.
type DataPlaneKonnectKind string

const (
	ManagedByCloudControlPlaneDataPlaneKonnectKind DataPlaneKonnectKind = "managed-by-cloud-control-plane"

	// Note: just for future compatibility if we decide to implement Gateway (KIC + DPs) with Konnect integration as well.
	ManagedByIngressControllerPlaneDataPlaneKonnectKind = "managed-by-ingress-controller"
)

type KonnectOptions struct {
	// Kind defines the kind of the DataPlane deployment, which determines how it will be configured.
	Kind DataPlaneKonnectKind `json:"kind"`

	// ControlPlaneID is the identifier of the Konnect Control Plane.
	ControlPlaneID string `json:"controlPlaneID"`

	// ControlPlaneRegion is the region of the Konnect Control Plane.
	// If not set, 'us' is used as the default region.
	// +optional
	ControlPlaneRegion *string `json:"controlPlaneRegion,omitempty"`

	// ClusterCertificate is a name of the Secret containing the Konnect Control Plane's cluster certificate.
	ClusterCertificate string `json:"clusterCertificate"`
}

This will reduce the repetition and allow rigid validation of the input based on the defined schema.
Acceptance Criteria

[ ] As a Konnect-hosted Control Plane user who wants to deploy DataPlanes in Kubernetes using KGO, I'm provided with an API that will allow me to configure those with minimal information provided (CP ID, cluster certificate secret name), so I do not have to know what exact environment variables need to be adjusted in their Deployments

@mheap After a discussion with @lahabana I created this issue to have it properly tracked in GH. I added an ad-hoc proposed solution, but I think we will need to iterate over it with a proper review.
BTW Should we create KGO 1.4 or "API summit" milestone and assign the issue to it?

I'd make this a GatewayConfiguration in addition to Konnect specific data planes I think. This allows us to use it with both Gateway and DataPlane
kind: KonnectConfiguration
apiVersion: gateway-operator.konghq.com/v1beta1
metadata:
 name: kong
 namespace: default
spec:
 konnectOptions:
   controlPlaneId: YOUR_CP_ID
   controlPlaneRegion: us|eu|au
   prefix: YOUR_PREFIX
   tlsSecretName: konnect-client-tls
 controlPlaneOptions:
   deployment:
     podTemplateSpec:
       spec:
         containers:
         - name: controller
           image: kong/kubernetes-ingress-controller:3.1.3
           env:
             - name: CONTROLLER_LOG_LEVEL
               value: debug
 dataPlaneOptions:
   deployment:
     podTemplateSpec:
       spec:
         containers:
         - name: proxy
           image: kong/kong-gateway:<IP_ADDRESS>

apiVersion: gateway-operator.konghq.com/v1beta1
kind: DataPlane
metadata:
  name: dataplane-example
  namespace: kong
spec:
  deployment:
    podTemplateSpec:
      spec:
        konnectOptions:
          controlPlaneId: YOUR_CP_ID
          controlPlaneRegion: us|eu|au
          prefix: YOUR_PREFIX
          tlsSecretName: konnect-client-tls

I believe we can sync on this (this issue is still unassigned so not sure if anyone is working on this).

@mheap we can't use DataPlane's spec.deployment.podTemplateSpec (or anything nested underneath it) because that's a type that we do not control https://github.com/Kong/gateway-operator/blob/3876430e09e61edce58bd8464989e33236bd1872/api/v1beta1/shared_types.go#L35. We wouldn't like to do it anyway as that's directly translated into an "overlay" of sorts and merged using strategic merge patch on top of the generated spec.

We need to think carefully about the fields and what type we want to use for configuration. Working on the design for #370 I came up with KonnectConfiguration CRD that would be referenced by Konnect entitity types. Roughly:
// +genclient
// +genclient:nonNamespaced
// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
// +kubebuilder:object:root=true
// +kubebuilder:validation:XValidation:rule="self.token.startsWith('spat_') || self.token.startsWith('kpat_')", message="Konnect tokens have to start with spat_ or kpat_"

// KonnectConfiguration is the Schema for the Konnect configuration type.
type KonnectConfiguration struct {
    metav1.TypeMeta   `json:",inline"`
    metav1.ObjectMeta `json:"metadata,omitempty"`

    // Token is the Konnect token used to authenticate with the Konnect API.
    // +kubebuilder:validation:Required
    Token string `json:"token"`

    // ServerURL is the URL of the Konnect server.
    // +kubebuilder:validation:Enum=us.api.konghq.com;eu.api.konghq.com;au.api.konghq.com
    // +kubebuilder:validation:Required
    ServerURL string `json:"serverURL"`
}

type KonnectConfigurationRef struct {
    // Name is the name of the KonnectConfiguration resource.
    // +kubebuilder:validation:Required
    Name string `json:"name"`
}

This can then be referenced in entity types like so:
// KonnectControlPlane is the Schema for the konnectcontrolplanes API.
type KonnectControlPlane struct {
    metav1.TypeMeta   `json:",inline"`
    metav1.ObjectMeta `json:"metadata,omitempty"`

    Spec KonnectControlPlaneSpec `json:"spec,omitempty"`

    Status KonnectEntityStatus `json:"status,omitempty"`
}

type KonnectControlPlaneSpec struct {
    // Spec ...

    KonnectConfigurationRef KonnectConfigurationRef `json:"konnectConfigurationRef,omitempty"`
}

This is important because we don't want to confuse users and the proposed KonnectConfiguration CRD serves a slightly different purpose than the one I propose.

My initial proposal written down in the issue description was rather an ad-hoc base so we can have something to discuss. I agree with @mheap that it would be better to have some struct that we could use both in Gateway and DataPlane (as @pmalek noted, it won't be possible to change podTemplateSpec, but we might add it as a separate DP option I believe).
As it comes to naming, I think we have to make sure that we do not end up with ambiguous KonnectConfiguration-like CRDs/structs that might mean almost anything. I'd aim for something more specific, e.g. DataPlaneKonnectOptions for the struct that will include all params needed for DP-Konnect comms, and KonnectAPIAuthConfiguration for the CRD @pmalek proposed for KGO-Konnect authentication purposes.

I believe we can sync on this (this issue is still unassigned so not sure if anyone is working on this).

👍 I'm happy to sync on this next week. I don't think anyone's working on this issue right now.

KonnectAPIAuthConfiguration for the CRD @pmalek proposed for KGO-Konnect authentication purposes.

I like this. And putting it inside DataPlaneKonnectOptions or anything else that will require to authenticate against Konnect seems like a good approach.


Change "Survey Complete" Status if QCOMP returns to 0

For Future Update:
If someone completes the survey, the CallWeb QCOMP variable gets set to 1. The next time the process runs automatically/or is refreshed manually, their status will become “SurveyComplete” and the SURVEY_WINDOW_FLAG set to 1.
There can be instances when fielding the survey where a survey needs to be reset. This removes their responses and therefore their survey is no longer considered complete. When a survey is reset in CallWeb, QCOMP goes back to empty (i.e., not 1). But their status is not touched by the NJSA likely because it is considered a "final" state.
I think the "SurveyComplete" status should be more dynamic based on the result within the QCOMP variable. This status should either become Active or Expired based on where the individual is in the survey window.

Possible workaround (need to verify this works): update the status manually in the NJSA app. Also does not seem to happen very often.
Because of this, relatively low priority.


[BUG]: can't pulling  db-gpt:latest image from docker.mirrors.ustc.edu.cn

Describe the bug
ERROR: failed to solve: db-gpt:latest: pulling from host docker.mirrors.ustc.edu.cn failed with status code [manifests latest]: 403 Forbidden

We haven't uploaded the image to dockerhub yet,  please build a docker image first, see building-docker-image.

Try again, and you also can find image from here


docs(api): fix redirect loop

Closes #4672
Per @b-cooper suggestion, use a relative url to the v2/ path instead of the full index.html to both avoid the redirect loop and still not have to specify the hostname

What is the purpose of this file? Should we be using a server-side redirect instead? (Now that docs are on S3 this is an option)

What is the purpose of this file? Should we be using a server-side redirect instead? (Now that docs are on S3 this is an option)

The idea here is, or was, to have a single landing page that could redirect to v1 or v2 (so we could swap it over when we launched v2) without having to change anything else. A server redirect would be totally fine.


Fix Imagick::getImageMimeType() PHPDoc

Fix return value for Imagick::getImageMimeType() function

https://youtrack.jetbrains.com/issue/WI-30478

This one was fixed internally.
Please follow contributing.md when creating future pull requests - send the CLA!


Install additional development tools as part of bootstrapping process

mpi4py (should be built against system MPI)
flake8
pudb
ipython

Users can also specify custom packages using #67

Yeah. I think this is good to close. @matthiasdiener?

Closing, we can reopen if we want to install more tools.


How to link the whole row in the table?

Is there a way that I can make the whole row clickable to a href?
I'm currently adding an anchor tag in one of the columns.

Easily.  Just use the getTrProps prop:
<ReactTable
  getTrProps={() => ({
    onClick: e => console.log('A row was clicked!')
  })}
/>

getTrProps is passed some handy arguments you may want to use.  They are explained here: https://github.com/tannerlinsley/react-table#custom-props

I just realized that you asked about using a href specifically.  Though this is technically feasible, I wouldn't suggest it, as it would require a heavy amount of component overrides and restyling to get an <a> element to behave like a React-Table <tr> element.  But you can easily add a cursor: pointer style to clickable rows and simply handle the page change programmatically. :)

Is there a way that I can make the single column  clickable to a href?
Right now I m using for row
<ReactTable
getTrProps={(state, rowInfo, column, instance) => ({
onClick: e => console.log('A row was clicked!')
})}
/>

@shaikjohnsaida you can override the cell with a custom made component.
  Cell: cell => {
        return (
          <Link> <div className="styled" /> </Link>
        );
      }

I guess you could try something like this.

is there a way to have both functionality, I want when user click the whole row redirects the app to user profile and when click each icon in actions redirect the user to edit, view or delete page.

@jogoool I'm looking for something similar - view, edit, delete. Did you get the approach?

@justduy  i want to make row a link so that on right click on a row i can see 'open in new tab' option in antd table. How can i do that in antd table?

Well, I found this useful, if anyone's looking for -
  getTableRowProps = (state, rowInfo, instance) => {
       if (rowInfo && rowInfo.row) {
         return {
           onClick: (e) => {
               this.setState({
                   selectedRow: rowInfo.row
               })
           }
         }
       }else{
         return {}
       }
     }

Here, getTableRowProps is used as a prop to my <table> and selectedRow is the row that is being clicked upon. This is state property
Now, here's a catch. Once you get selectedRow set as the row that is created, we can then extract all the data values in this object.
Remember to initialize the state with selectedRow: null
Secondly, I was looking for a column/ field called _id that is not displayed in the table, for that, I added a new column, like this -
columns : [
                        {
                            Header: ID,
                            accessor: '_id',
                            show:false
                        },
                        {
                        ...
                        }
              ]

Using show:false property that hides the column, but remains in selectedRow
Hope this helps.


Finish proposal and POC for LitElement theming API

The idea is to have a pragmatic API, inspired by https://github.com/vaadin/vaadin-themable-mixin, that makes it possible for component authors to allow consumers to insert custom styling. Related to but not dependent on ::part support/polyfill.

Hi! I'm currently working on prototyping Lit versions of our mixins.
You can find a Lit version here:
https://github.com/web-padawan/lit-mixins/tree/master/packages/themable-lit-element
Note:

dom-module is used for compatibility, so that Lit components can consume styles defined through registerStyle from Polymer

We also sort modules by name to ensure that styles with vaadin- prefix and our theme prefixes come first.

Ping me if you have any ideas you'd like to discuss.

Package moved to:
https://github.com/vaadin/component-mixins/tree/master/packages/themable-element

@abdonrd thanks, updated my comment above to point to the correct version.


update known issues

Update known issues for Pages

Do we want to add this to known issues? This is a roadmap item rather than an issue itself

@nevikashah asked that it be added. Just so people know we currently don’t support it yet.


Issue with border radius on section and column

Hi MJML Team,
Border radius is not working on section and,  as well as column. Can some please look in to this and suggest me a solution.

This is because we use border-collapse on table to ensure compatibility for Outlook. You can override this with mj-style to separate.

@iRyusa Why apply border to td then, if both border-radius and background-color gets applied to surrounding div?
Here is the example MJML:
https://mjml.io/try-it-live/kx2qQEPU-S
And here is a Pen with border property moved from td to the div: https://codepen.io/szaleq/pen/gOJGxbJ
Why not render it this way?

Because not every email client support border on div elements


add prettier configuration.

@SajidAnTechie  Thank you for the PR bro. Have you joined our Discord Server? We can discuss further there.

@SajidAnTechie Thank you for the PR bro. Have you joined our Discord Server? We can discuss further there.

@ashiishme I had joined.


Receive invalid signer or provider when using JsonRpcProvider in mocks

Trying this as instruction: https://github.com/DePayFi/web3-mock?tab=readme-ov-file#providers-1

const provider = new ethers.JsonRpcProvider('https://arb1.arbitrum.io/rpc');

mock({
  blockchain: "arbitrum",
  provider: provider,
  request: {
    to: '0xfc5A1A6EB076a2C7aD06eD22C90d7E710E35ad0a',
    api: Token.abi,
    method: "balanceOf",
    params: "0x9f7198eb1b9Ccc0Eb7A07eD228d8FbC12963ea33",
    return: "1000000000000000000",
  },
});

const contract = new ethers.Contract('0xfc5A1A6EB076a2C7aD06eD22C90d7E710E35ad0a', Token.abi, provider);

const data = await contract.balanceOf("0x9f7198eb1b9Ccc0Eb7A07eD228d8FbC12963ea33");

Receiving:
invalid signer or provider (argument="signerOrProvider", value={"_blockchain":"arbitrum"}, code=INVALID_ARGUMENT, version=contracts/5.7.0)

When I'm removing mock(...) - everything is fine, ethers make correct call and get correct response.
What am I doing wrong?

Hi,
This library is designed to mock wallets, not providers, making it ideal for testing dApps. However, note that it won't mock anything that doesn't interact with window.ethereum or a wallet extension.
Currently, Ethers v6 and above is not supported. But since npm allows for multiple versions of dependencies to coexist, and this library includes a bundled version of Ethers, it shouldn't pose an issue for most use cases.


Storage entity registry

Description:
Migrate entity registry to use the storage helper. All mutations of the registry will need to go via the UI.
Depends on (and temporarily includes) #16017
Pull request in home-assistant.github.io with documentation (if applicable): home-assistant/home-assistant.github.io#<home-assistant.github.io PR number goes here>
Checklist:

[x] The code change is tested and works locally.
[x] Local tests pass with tox. Your PR cannot be merged unless tests pass

If the code does not interact with devices:

[x] Tests have been added to verify that the new code works.

It's weird that we require a non core component (frontend) to fulfill the feature set of a core component (entity_registry) We should at least have a service to allow modification of entity registry without frontend.

We already have this for config entries and auth too. We should only expose things as services if we want people to automate it. I would not want people automate changing entity IDs.
I think that as the project grows, we'll have a few more of these pieces: they function normally (give the same entity ID to the same entity) but can be tweaked via the WebSocket API.

hi!
I have some issues after the update to version 0.77.1.
I struggle to rename z-wave devices in version 0.77.1. Before i could rename all the sensors belonging to one device and do the same with the zwcfg*.xml file.
I also strugle with cleaning up if a battery powerd z-wave node is not responding. Now I can't clean up the wrong entris in the new entity registry storage.
Before it was also wery easy to see and compare the entity in customize.yaml and groups.yaml
How can I manage to rename, delete entities in frontend if it don't work properly?
Is there a way to manage the yaml entries in a better/easy way?

Yeah, I've lost the z-wave rename field in the zwave control panel, and my workflow for installing/renaming devices involved renaming them and then deleting them from entity registry and rebooting to rediscover so that the half-dozen or so entities for each switch would have consistent names. Surely the removal of the manual option means someone has (finally...) implemented an automatic "rename the whole device" option somewhere to replace it, right?

I am also afraid of upgrading to 0.77 because of the change of the entity registration file. For me this was the only way to "simply" rename the Zwave devices. Until now I see no benefit in the hole entity registry. It makes everything more complicated. I have to rename on different locations. And now its not even possible to access the registry...

I have upgraded now to .77 and am regretting it because of the loss of the entity_registry.yaml. The only way I could start to make sense of my Z-Wave and devices, and other entities auto-discovered, was to rename the entities to something that made sense.  The new blogpost says it should only be managed via the UI but there is nothing in the UI yet to be able to modify the entity id.
The entity_registry.yaml was a godsend for getting the entity ids to make sense, this particular change feels like a massive step back for me. Now I have no clue how to accomplish my desired entity naming structure. Sure, I can use customize to rename what they display as in the front end, but that doesn't help me at all with automations or creating a UI where I NEED to have the entity ID, and I can't constantly reference the states page just to grab an entity ID.

I've been using lovelace so I didn't notice this, probably should have mentioned this in the announcement :P

Yes its possible, but very its annoying.
For example, I added a zwave device with a lot of sensors. So there are 20 new entities. I have to find and rename every single entity manually.
In the registry you can find/replace...done. Imagine I add 5 new devices. Its totally crazy
I‘m also not sure if renaming an entity in the UI, have any effects on Automations/scripts/customization.

That's really not a solution though - it's making an already bad problem worse! Renaming this way means 6-12 individual rename operations for every single new device installed (based on my housefull of GE switches and a couple of other sensors) if you want all the entities for one device to stay named together (which is the only sensible way...). I had been hoping the ZWave configuration rename option would do this eventually, but it seems instead they've decided to remove that entirely as well, and leave us with the most tedious possible renaming system.

Pull requests are the wrong place to discuss.