Introduce new config scheme

Problem
There are two problems with the way do configuration;
Firstly, this code is duplicated across all applications:
selected_board = env_has_board ? env["BOARD"] : default_board_for_application
selected_conf_file = env_has_conf ? env["CONF_FILE"] : default_conf_for_application
Secondly, environment variables are used to configure Zephyr[0].
Solution proposal
All environment variables are removed except for ZEPHYR_BASE (was not able to get rid of it).
All business logic regarding BOARD and CONF_FILE has been removed from the applications.
4 configuration file types are created to replace the above mechanisms.
The new system works like this:
CMake command line arguments are supported and have the highest precedence.
The intended use-case is temporary configuration that will not be shared to other developers
through version control.
cmake -DBOARD=qemu_x86 [...]
To reduce CMake command line verbosity the user may choose to create
a file like zephyr/samples/path/to/app/local-defaults.cmake.
echo "set(BOARD qemu_x86)" >> $APPLICATION_SOURCE_DIR/local-defaults.cmake)
To emulate having an exported BOARD environment variable and also to deprecate the environment variables PREBUILT_HOST_TOOLS, ZEPHYR_SDK_INSTALL_DIR, and ZEPHYR_GCC_VARIANT, the file $ZEPHYR_BASE/local-defaults.cmake has been created.
Example:
# Gitignored file

set(PREBUILT_HOST_TOOLS     /home/sebo/workspace_zephyr/.build)
set(ZEPHYR_SDK_INSTALL_DIR  /home/sebo/zephyr-sdk)
set(ZEPHYR_GCC_VARIANT      zephyr)
# set(BOARD      arduino_101)

To replace business logic in applications like ...
if(DEFINED ENV{BOARD})   set(BOARD $ENV{BOARD}) else()   set(BOARD bbc_microbit) endif()
... applications may have a file $APPLICATION_SOURC_DIR/defaults.cmake
that might look like this:
set(BOARD bbc_microbit)
Finally, the version controlled file $ZEPHYR_BASE/defaults.cmake exists to allow fallback
configuration. Currently it is just defining set(BOARD qemu_x86). This allows us to omit
many config files, and may in the future allow Zephyr forks to have different default
configurations. (This follows the convention-over-configuration principle)
Precedence rules:

Optional CMake command line arguments (cmake -DBOARD=qemu_x86)
The optional gitignored file $APPLICATION_SOURCE_DIR/local-defaults.cmake
The optional gitignored file $ZEPHYR_BASE/local-defaults.cmake
The optional version controlled file $APPLICATION_SOURCE_DIR/defaults.cmake
The version controlled file $ZEPHYR_BASE/defaults.cmake

[0] I can elaborate on the downsides of environment variables if necessary.

[0] I can elaborate on the downsides of environment variables if necessary.

please do

There are two problems with the way do configuration;

Firstly, this code is duplicated across all applications:
selected_board = env_has_board ? env["BOARD"] : default_board_for_application
selected_conf_file = env_has_conf ? env["CONF_FILE"] : default_conf_for_application

why not have this code go into some macro, for example:
set_board(qemu_x86)
set_config(prj.conf)
and override if those are set in the environment for example? I am not sure I like introducing another file with this data is the right solution.

why not have this code go into some macro

Because CONF_FILE and BOARD need to be set before boilerplate is executed. A set_board() macro
would require another line of boilerplate, giving us two pieces of boilerplate, as opposed to the 1 block it has today. The user also needs to understand the difference of having his code before or after the boilerplate block.
Getting rid of the BOARD and CONF_FILE configuration means the user can always have the boilerplate at the top of the CMakeLists.txt file and not think about what happens if code is placed above the boilerplate.

I am not sure I like introducing another file with this data is the right solution.

I am open for other solutions.

Because CONF_FILE and BOARD need to be set before boilerplate is executed. A set_board() macro
would require another line of boilerplate, giving us two pieces of boilerplate, as opposed to the 1 block it has today. The user also needs to understand the difference of having his code before or after the boilerplate block.

I see, now I remember we had the same issue with make

[0] I can elaborate on the downsides of environment variables if necessary.

Using environment variables means teaching users how to use environment variables. Using CMakeLists.txt code requires no extra training as CMake will already be technology they need to
learn. (Edit this file, vs. (if windows run this program, if OSX edit .initrc, if zsh edit bla bla, if bash edit yada yada).
Deprecating environment variables means that two different shells that execute the same command on the same files will produce the same result.
The Zephyr environment variables are mixed into system environment variables. Finding out how a user has configured Zephyr is easy if the configuration is grouped together in a single config file for all users. If we use environment variables we have to search several (platform-dependent) locations to find out how the user is setting up his environment. For instance, inspecting them is easier;
printenv | egrep "ZEPHYR|PREBUILT"
vs.
cat $ZEPHYR_BASE/local-defaults.cmake
When CMakeLists.txt code is executed the environment variable will be evaluated and the generated build system will only see the resulting value. It will not realize that a environment variable change will require a reconfiguration. If the configuration is encoded in CMakeLists.txt code however, changing the configuration will cause a change in CMakeLists.txt code and generated build systems will Re-configure when any CMakeLists.txt code changes.

I am aware of the pitfalls of env variables, I thought it made sense to have this  explained as part of this PR for the curious reader.

printenv | egrep "ZEPHYR|PREBUILT"
vs.
cat $ZEPHYR_BASE/local-defaults.cmake

right now I have:
core:hidapi(master): cat ~/.zephyrrc
#export ZEPHYR_SDK_INSTALL_DIR=/home/nashif/Work/SDK/0.8.2
#export ZEPHYR_SDK_INSTALL_DIR=/home/nashif/Work/SDK/0.8.2
export ZEPHYR_SDK_INSTALL_DIR=/home/nashif/Work/SDK/0.9.1
export IAMCU_TOOLCHAIN_PATH=/opt/issm/tools/compiler/
export IAMCU_TOOLCHAIN_DIR=/opt/issm/tools/compiler/bin
export ZEPHYR_GCC_VARIANT=zephyr
export ISSM_INSTALLATION_PATH=/opt/issm
export IA_VERSION=gcc-ia/5.2.1
export ARC_VERSION=gcc-arc/4.8.5
export USE_CCACHE=1
export BUILDDIR=/var/www/html/zephyr/
export ZEPHYR_FLASH_OVER_DFU=y
export ESP_IDF_PATH=~/Work/esp32/esp-idf/
export ESPRESSIF_TOOLCHAIN_PATH=~/Work/SDK/xtensa-esp32-elf/
export ESP_DEVICE=/dev/ttyUSB1

So basically we had this before...
I am personally not really attached to have a default board defined in the makefile for all of those tests and samples, the yaml file should be able to provide this information as well and a developer will get used to run cmake with -DBOARD or set it in his own application.
Need to think about it a bit more though...

Just a bit of a user feedback. I tried to take CMake stuff easy (based on face to face discussion at the last minisummit that everything will be ok). But seeing such patch titles and looking at stuff like set(BOARD bbc_microbit) starts to give me shivers, and I know it's only beginning. Are we still on the track to have CMake being run once, generating real makefiles, and user forgetting about its existence (for example, releases would have real makefiles committed into git)? And then users just run make BOARD=foo like before. No? Sad. Maybe there was no such goal with this recent work at all? Even sadder, because that's what I heard (or understood) how it's supposed to work.

But seeing such patch titles and looking at stuff like set(BOARD bbc_microbit) starts to give me shivers, and I know it's only beginning.

why does this give you shivers?
set(BOARD XYZ)
BOARD ?= XYZ
Whats the difference? It is almost the same number of characters :)

Are we still on the track to have CMake being run once, generating real makefiles, and user forgetting about its existence (for example, releases would have real makefiles committed into git)? And then users just run make BOARD=foo like before. No? Sad.

I guess you are talking about the samples, right?
Having a wrapper Makefile that would call cmake (the 2 steps needed to build with cmake) is a no-brainer, i think we should provide an example how to do that and have it somewhere, however, I am still not decided if this is the right thing to do. We are all used to typing make and finger memory is hard to get rid off, but in the last weeks I got used to do things with cmake and you can always alias the steps in your own environment. Anyways, need more input from people once we have all boards and samples/tests converted to CMake.

Need to think about it a bit more though...
I will be awaiting more feedback.

@nashif : We need to get a conclusion on this PR before we port more samples/tests/"sample documentation".

@nashif : I am open for reworking parts of it, but I still think the main idea here makes sense.

@nashif : I am open for reworking parts of it, but I still think the main idea here makes sense.

How about we stop defining default boards in the top Makefile and depend on having the board either set directly in the makefile using cmake set or on the command line, does this solve the issue? The way we are doing things is actually buggy, I found many cases where setting board to something by default causes rebuild issues.

@nashif : I can accept this for now, will close this PR and open a new one that introduces this policy.
We can do further improvements if necessary after the merge or as a response to user feedback.


Added ruby slave based on enabling scl repos

Hi,
my team is planning to use Jenkins on Openshift, and we found a need to have a ruby based slave.
So I made one :-)
So far
make test VERSION=slave-ruby TARGET=centos7

ended up with
2.5.1
sh: cannot set terminal process group (-1): Inappropriate ioctl for device
sh: no job control in this shell
ruby 2.3.1p112 (2016-04-26 revision 54768) [x86_64-linux]
SUCCESS!

where "2.5.1" and "ruby 2.3.1p112 (2016-04-26 revision 54768) [x86_64-linux]" are expected versions of both gem --version and ruby --version and I can report that we already are testing the image internally in our proof-of-concept jenkins pipe-lines.
So, anything more that needs to be done to have this in the official repo?
Adam Saleh

To be consistent with our other two slave images, a k8s plug pod template config would be added to the default cloud config the image provides.  See https://github.com/openshift/jenkins/blob/master/1/contrib/jenkins/kube-slave-common.sh#L99-L153 and https://github.com/openshift/jenkins/blob/master/2/contrib/jenkins/kube-slave-common.sh#L99-L153.
I'll defer to @bparees on long term desire to carry a ruby slave image.
FYI - the PR test failure seems orthogonal to this change (a plugin could not be loaded because of version issues).

@bparees Still sounds right to me.

@bparees our usecase?
We have large parts of our deployment and infrastructure automation scripts written in ruby (knife and rest of the chef tooling mostly). We want to have it  as a part of our continuous deployment pipeline.

I'm definitely wary of us ending supporting/maintaining a large set of slave images (today we have nodejs and maven, likely if we go down this road we'll end up adding ruby, perl, php, and python).

@bparees, I assumed that you want to have it this way, based on the fact that you have python and maven separately :-) I have no problem with having one image that would support all of them.


Problem running MarkerSFM: No module named 'extract_metadata'

setup_output.txt
The dependencies have been installed through the provided script. After running setup.py (output attached), I try to execute the run_markersfm.sh script and get this error:
adv@bootcamp:~/dev/MarkerSfM/scripts$ bash run_markersfm.sh /home/adv/dev/MarkerSfM/data/ece_floor4_wall/
===== Run MarkerSFM =====
=
= Running MarkerSFM

Traceback (most recent call last):
  File "../bin/opensfm", line 10, in <module>
    from opensfm import commands
  File "/home/adv/dev/MarkerSfM/opensfm/commands/__init__.py", line 2, in <module>
    import extract_metadata
ModuleNotFoundError: No module named 'extract_metadata'

How can I check if the setup process was successful?
Note in setup.py output that vlfeat could not be built, but I am not sure if it is needed.
In file included from /home/adv/dev/MarkerSfM/opensfm/src/third_party/vlfeat/vl/kmeans.h:21,
                 from /home/adv/dev/MarkerSfM/opensfm/src/third_party/vlfeat/vl/kmeans.c:363:
/home/adv/dev/MarkerSfM/opensfm/src/third_party/vlfeat/vl/kmeans.c: In function ‘_vl_kmeans_quantize_f’:
/home/adv/dev/MarkerSfM/opensfm/src/third_party/vlfeat/vl/mathop.h:92:37: error: ‘vl_infinity_d’ not specified in enclosing ‘parallel’
   92 | #define VL_INFINITY_D (vl_infinity_d.value)
      |                       ~~~~~~~~~~~~~~^~~~~~~
/home/adv/dev/MarkerSfM/opensfm/src/third_party/vlfeat/vl/kmeans.c:685:34: note: in expansion of macro ‘VL_INFINITY_D’
  685 |       TYPE bestDistance = (TYPE) VL_INFINITY_D ;
      |                                  ^~~~~~~~~~~~~
In file included from /home/adv/dev/MarkerSfM/opensfm/src/third_party/vlfeat/vl/kmeans.c:1782:
/home/adv/dev/MarkerSfM/opensfm/src/third_party/vlfeat/vl/kmeans.c:672:9: error: enclosing ‘parallel’
  672 | #pragma omp parallel default(none) \
      |         ^~~
In file included from /home/adv/dev/MarkerSfM/opensfm/src/third_party/vlfeat/vl/kmeans.c:1788:
/home/adv/dev/MarkerSfM/opensfm/src/third_party/vlfeat/vl/kmeans.c: In function ‘_vl_kmeans_quantize_d’:
/home/adv/dev/MarkerSfM/opensfm/src/third_party/vlfeat/vl/kmeans.c:685:27: error: ‘vl_infinity_d’ not specified in enclosing ‘parallel’
  685 |       TYPE bestDistance = (TYPE) VL_INFINITY_D ;
/home/adv/dev/MarkerSfM/opensfm/src/third_party/vlfeat/vl/kmeans.c:672:9: error: enclosing ‘parallel’
  672 | #pragma omp parallel default(none) \

The problem was two-fold:

vlfeat needs to be built in order to produce csfm.so. Had to adjust the code like this to build it successfully (using gcc 9.2.1 on ubuntu 16.04):
colmap/colmap@6af3d8b
MarkerSfm and OpenSfm use python 2.7, so I used pyenv to install and switch to python 2.7 and rebuilt opengv to generate the correct python-bindings (in my case 2.7 instead of 3.6). Also, I created a symlink to the generated pyopengv.so in ~/.pyenv/versions/2.7.16/lib/python2.7/site-packages so opengv module can be found.

Running the markersfm-pipeline on the example data now works 👍

Hi. I'm wondering if you are still working on this.


Updated subpackage manifests to include all requirement files and readme

This way all requirements files will be included into the package.
Regarding readme file, it seems that it is not necessary to write it into the manifest to be included in the package but I did it just in case.

Codecov Report

Merging #395 (c37c9f4) into develop (47f9bfe) will increase coverage by 0.01%.
The diff coverage is n/a.

@@             Coverage Diff             @@
##           develop     #395      +/-   ##
===========================================
+ Coverage    82.87%   82.89%   +0.01%
===========================================
  Files           54       54
  Lines         5174     5174
===========================================
+ Hits          4288     4289       +1
+ Misses         886      885       -1

Impacted Files
Coverage Δ

core/eolearn/core/extra/ray.py
93.33% <0.00%> (+3.33%)
: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 47f9bfe...c37c9f4. Read the comment docs.


How-to: Bullet Journaling

As you know, love the project. In the spirit of #30 and #31 I'd like to make a plugin to add some functionality to support bullet journaling. I'm creating this issue to organize my thoughts and get feedback on implementation/discussion if anything should be added to core. I tried to pull a stat about how popular bullet journaling is (there are 8 million instagram posts about it) but apparently it is also some kind of mythical thing that people talk about doing more than actually doing so who knows
Bullet journaling has some pretty consistent aspects:

index
"future log" kind of an icebox of to-dos that are not urgent
monthly logs
daily logs
collections - these are essentially just notes and cross linking with [[ is essentially already implementing them
"rapid logging" - recording to-dos, events, notes with different bullet types.

tasks ([ ]) and bullets (*) are fine, not all three need implemented.

tasks generally move from a monthly log to a daily log, and possibly to the next monthly log if you didn't get them done and still want to do it. they may also move to the "future log".
The biggest changes I think would be needed are:

functionality for quickly creating and accessing "monthly notes" (similar to the weekly/daily notes that are currently implemented), is this wanted in core?
probably some kind of calendar view where accessing future dates, future months are easier.

Are plugs able to change/add to the UI? Or would this best be some kind of markdown table implementation in-page?
in general, closer association between pages and dates/months/etc.  I'm not sure if using page titles as strings will be sufficient. Likely but maybe sub optimal. is frontmatter the best (only?) metadata store for pages?

commands to move tasks between pages, or maybe just import tasks from a subset of pages.

To me, a timeline or calendar view (or both) is the most important missing piece. We already have daily notes and quick notes, but no way of browsing through them chronologically

@powermosfet I use a query of daily notes to do a timeline view, as well as have links to the previous and next daily note in the templates for daily notes when they are created. Not perfect, but good enough that I stopped fiddling with it.


pod-infra-container-image does not take effect when using cri-dockerd

Rancher Server Setup

Rancher version: v2.6.2
Installation option (Docker install/Helm Chart): Docker install

If Helm Chart, Kubernetes Cluster and version (RKE1, RKE2, k3s, EKS, etc):

Proxy/Cert Details:

Information about the Cluster

Kubernetes version: v1.21.6-rancehr1-1
Cluster Type (Local/Downstream): Custom

If downstream, what type of cluster? (Custom/Imported or specify provider for Hosted/Infrastructure Provider):

Describe the bug

To Reproduce

Create rke1 custom cluster
Edit as YAML set enable_cri_dockerd: true
Create a custom cluster of rke1 with the role of all

Result
After the kubelet is started, you can view the pause image used by the cluster as k8s.gcr.io/pause:3.1 through kubelet, which proves that the kubelet parameter --pod-infra-container-image="rancher/mirrored-pause :3.4.1" did not take effect.
k8s.gcr.io/pause:3.1 is actually the default value of the cri-dockerd --pod-infra-container-image parameter:
sh-5.0# /opt/rke-tools/bin/cri-dockerd -h
      --pod-infra-container-image string        The image whose network/ipc namespaces containers in each pod will use (default "k8s.gcr.io/pause:3.1")

Moreover, it can be seen from https://github.com/rancher/rke-tools/blob/master/entrypoint.sh#L75 that cri-dockerd does not specify the pause image
Expected Result

When using cri-dockerd, you can use rke default pause image rancher/mirrored-pause:3.4.1
Screenshots

Additional context

Still need to tag new version for rke-tools and put KDM updates to use newer versions of it.

Re-opening this issue:
Validated on rancher v2.6-head (fc01fff)

Created a single node downstream custom cluster using k8s : v1.21.9-rancher1-1. Also set this enable_cri_dockerd: true
SSH into the node and found the infra container pods are using default image for pause containers:

$ docker ps -a | grep -i pause
6ba48c8eaac8   k8s.gcr.io/pause:3.1                                                       "/pause"                 35 minutes ago   Up 35 minutes                         k8s_POD_fleet-agent-746c5d4cdd-x2jrm_cattle-fleet-system_eba0565d-8b2e-4862-8527-19ebdd730dea_0
206aa8c43d07   k8s.gcr.io/pause:3.1                                                       "/pause"                 36 minutes ago   Up 36 minutes                         k8s_POD_kube-api-auth-fkpn5_cattle-system_500569be-5929-499e-8353-7c99cc4c5856_0
2822cc851d12   k8s.gcr.io/pause:3.1                                                       "/pause"                 36 minutes ago   Up 36 minutes                         k8s_POD_cattle-node-agent-vx42h_cattle-system_9c03aaf7-a0dd-48ec-9c3b-556c696b6a1b_0
aa64abb6e555   k8s.gcr.io/pause:3.1                                                       "/pause"                 36 minutes ago   Up 36 minutes                         k8s_POD_cattle-cluster-agent-6cc956494b-crhgn_cattle-system_e0f7814e-fafb-461a-a19c-3935ec691672_0
...

Also --pod-infra-container-image=rancher/mirrored-pause:3.4.1 is not set:

docker exec -it kubelet bash
# ps -ef |grep cri-dockerd | grep -v grep
root        7270    6931  1 13:01 ?        00:00:49 /opt/rke-tools/bin/cri-dockerd --network-plugin=cni --cni-conf-dir=/etc/cni/net.d --cni-bin-dir=/opt/cni/bin

The issue is still active as the rke-tools version is set to v0.1.78 :

Fix now available to test with the latest k8s versions (which have rke-tools v0.1.79):

v1.23.4-rancher1-1
v1.22.6-rancher1-2,
v1.21.9-rancher1-2,
v1.19.16-rancher1-4

Re-opening this issue as the cluster provisioning is failing for v1.19.16-rancher1-4 k8s cluster when cri_dockerd is enabled
Verified on rancher v2.6-head(4df2214), docker install
Validation steps followed:

Provisioned 4 downstream cluster(single node), ec2 node driver using k8s version -> v1.23.4-rancher1-1, v1.22.6-rancher1-2,  v1.21.9-rancher1-2 and v1.19.16-rancher1-4

v1.19.16-rancher1-4 k8s cluster provisioning is failing with below logs:

2022/03/07 13:15:56 [INFO] cluster [c-7cmq4] provisioning: Initiating Kubernetes cluster
2022/03/07 13:15:56 [ERROR] cluster [c-7cmq4] provisioning: Failed to validate cluster: Enabling cri-dockerd for cluster version [v1.19.16-rancher1-4] is not supported
2022/03/07 13:15:56 [ERROR] cluster [c-7cmq4] provisioning: Can not find RKE state file: open /var/lib/rancher/management-state/rke/rke-2340588426/cluster.rkestate: no such file or directory
2022/03/07 13:15:56 [INFO] kontainerdriver rancherkubernetesengine stopped
2022/03/07 13:15:57 [ERROR] Failed to save provisioning log for provisioning-log: <nil>
2022/03/07 13:15:57 [ERROR] error syncing 'c-7cmq4': handler cluster-provisioner-controller: Can not find RKE state file: open /var/lib/rancher/management-state/rke/rke-2340588426/cluster.rkestate: no such file or directory, requeuing
2022/03/07 13:16:27 [INFO] Provisioning cluster [c-7cmq4]
2022/03/07 13:16:27 [INFO] Creating cluster [c-7cmq4]

On v1.21.9-rancher1-2 cluster, SSH'ed into control plane node and the correct image is set for the infra containers:

docker ps -a | grep -i pause
581fb03a8a46   rancher/mirrored-pause:3.4.1                                               "/pause"                 About an hour ago   Up About an hour                         k8s_POD_fleet-agent-6cdfd7b77c-zqppc_cattle-fleet-system_83486164-7fb5-4305-b743-6511154cb924_0
7dddf14677e2   rancher/mirrored-pause:3.4.1                                               "/pause"                 About an hour ago   Up About an hour                         k8s_POD_kube-api-auth-tqjbt_cattle-system_dd00ce44-ce25-40f4-b2c8-c46885438e71_0
4794a420690c   rancher/mirrored-pause:3.4.1                                               "/pause"                 About an hour ago   Up About an hour                         k8s_POD_cattle-node-agent-pd96x_cattle-system_2013d183-6937-436f-8c85-691e5fde93b1_0
...

Also --pod-infra-container-image=rancher/mirrored-pause:3.4.1 is set:

docker exec -it kubelet bash
root@rishabh-cri-1-21:/# ps -ef |grep cri-dockerd | grep -v grep
root        8935    8604  1 11:47 ?        00:01:22 /opt/rke-tools/bin/cri-dockerd --network-plugin=cni --cni-conf-dir=/etc/cni/net.d --cni-bin-dir=/opt/cni/bin --pod-infra-container-image=rancher/mirrored-pause:3.4.1

On v1.22.6-rancher1-2, SSH'ed into control pane node and the correct image is set for the infra containers:

docker ps -a| grep -i pause
f7639f92dfe1   rancher/mirrored-pause:3.5                                                 "/pause"                 About an hour ago   Up About an hour                         k8s_POD_fleet-agent-6cdfd7b77c-zfsfx_cattle-fleet-system_1aed8332-baf0-42b5-8c5f-8271c7d7f7e6_0
242f06a0df7b   rancher/mirrored-pause:3.5                                                 "/pause"                 About an hour ago   Up About an hour                         k8s_POD_nginx-ingress-controller-cl8d6_ingress-nginx_5268f4ad-5caa-4608-affe-9ac7087dd02a_0
e181b4701e64   rancher/mirrored-pause:3.5                                                 "/pause"                 About an hour ago   Up About an hour                         k8s_POD_calico-kube-controllers-5685fbd9f7-88xqd_kube-system_a21f6244-d2f5-4f17-a38e-b8010a411620_3
...

docker exec -it kubelet bash
root@rishabh-cri-1-22:/# ps -ef |grep cri-dockerd | grep -v grep
root        8958    8625  2 11:46 ?        00:01:41 /opt/rke-tools/bin/cri-dockerd --network-plugin=cni --cni-conf-dir=/etc/cni/net.d --cni-bin-dir=/opt/cni/bin --pod-infra-container-image=rancher/mirrored-pause:3.5

On v1.23.4-rancher1-1 cluster, SSH'ed into control pane node and the correct image is set for the infra containers:

docker ps -a| grep -i pause
280b271c5bc9   rancher/mirrored-pause:3.6                                                 "/pause"                 About an hour ago   Up About an hour                         k8s_POD_nginx-ingress-controller-n4qkd_ingress-nginx_a4c2dfde-fad4-4110-806f-b870218cebe9_0
1fe3dcf34f91   rancher/mirrored-pause:3.6                                                 "/pause"                 About an hour ago   Up About an hour                         k8s_POD_fleet-agent-7bf5b687f5-scflv_cattle-fleet-system_ced3ed78-19eb-479a-84c5-b112ea8150fb_0
633eeabe1b9e   rancher/mirrored-pause:3.6                                                 "/pause"                 About an hour ago   Exited (0) About an hour ago             k8s_POD_fleet-agent-dbc5db4c9-ktxlp_cattle-fleet-system_632679da-e498-4624-91f6-058c46b6677d_0
...

docker exec -it kubelet bash
root@rishabh-cri-1-23:/# ps -ef |grep cri-dockerd | grep -v grep
root        8949    8603  1 11:44 ?        00:01:38 /opt/rke-tools/bin/cri-dockerd --network-plugin=cni --cni-conf-dir=/etc/cni/net.d --cni-bin-dir=/opt/cni/bin --pod-infra-container-image=rancher/mirrored-pause:3.6

Re-opening this as k8s v1.19.16-rancher1-4 cluster provisioning is failing when cri_dockerd is enabled.
Verified on rancher v2.6-head(4df2214), docker install.
Steps followed for validation :

Created 4 downstream custom cluster(single node), using k8s version : v1.23.4-rancher1-1, v1.22.6-rancher1-2, v1.21.9-rancher1-2, v1.19.16-rancher1-4. Also set this enable_cri_dockerd: true

v1.19.16-rancher1-4 k8s cluster provisioning is failing with below logs:

[INFO ] Initiating Kubernetes cluster
[ERROR] Failed to validate cluster: Enabling cri-dockerd for cluster version [v1.19.16-rancher1-4] is not supported
[ERROR] Can not find RKE state file: open /var/lib/rancher/management-state/rke/rke-1502513793/cluster.rkestate: no such file or directory

On v1.21.9-rancher1-2 cluster, SSH'ed into control plane node and correct image is used for infra containers :

docker ps -a | grep -i pause
4a3a2a23a6de   rancher/mirrored-pause:3.4.1                                               "/pause"                 9 minutes ago    Up 9 minutes                          k8s_POD_fleet-agent-6cdfd7b77c-v4f74_cattle-fleet-system_165b55f5-43a6-41c4-946f-fd41713519de_0
bfb05cca115f   rancher/mirrored-pause:3.4.1                                               "/pause"                 9 minutes ago    Up 9 minutes                          k8s_POD_nginx-ingress-controller-q49v7_ingress-nginx_73bd7036-bf07-49c2-b607-8e32601640a0_0
...

Also --pod-infra-container-image arg is set
$ docker exec -it kubelet bash
# ps -ef |grep cri-dockerd | grep -v grep
root        6843    6490  1 13:59 ?        00:00:14 /opt/rke-tools/bin/cri-dockerd --network-plugin=cni --cni-conf-dir=/etc/cni/net.d --cni-bin-dir=/opt/cni/bin --pod-infra-container-image=rancher/mirrored-pause:3.4.1

On v1.22.6-rancher1-2, cluster, SSH'ed into control plane node and correct image is used for infra containers :

$ docker ps -a | grep -i pause
cf631916fc07   rancher/mirrored-pause:3.5                                                 "/pause"                 8 minutes ago    Up 8 minutes                         k8s_POD_fleet-agent-6cdfd7b77c-6nmst_cattle-fleet-system_9fb70701-5920-43cd-80df-92e87959bd39_0
9fa5c05a0eda   rancher/mirrored-pause:3.5                                                 "/pause"                 9 minutes ago    Up 9 minutes                         k8s_POD_nginx-ingress-controller-52lfv_ingress-nginx_3ebdab45-0126-47bf-a923-91b749859821_0
...

Also --pod-infra-container-image arg is set
$ docker exec -it kubelet bash
# ps -ef |grep cri-dockerd | grep -v grep
root        6766    6425  1 14:03 ?        00:00:12 /opt/rke-tools/bin/cri-dockerd --network-plugin=cni --cni-conf-dir=/etc/cni/net.d --cni-bin-dir=/opt/cni/bin --pod-infra-container-image=rancher/mirrored-pause:3.5
...

On v1.23.4-rancher1-1 cluster, SSH'ed into control plane node and correct image is used for infra containers :
$ docker ps -a | grep -i pause
8d824fe7b3a7   rancher/mirrored-pause:3.6                                                 "/pause"                 8 minutes ago    Up 8 minutes                          k8s_POD_fleet-agent-7bf5b687f5-56vcz_cattle-fleet-system_2c087789-0f77-4fd4-ab93-bfbab07dba7c_0
8abfcf0f7970   rancher/mirrored-pause:3.6                                                 "/pause"                 9 minutes ago    Exited (0) 8 minutes ago              k8s_POD_fleet-agent-7f86866df5-257n2_cattle-fleet-system_3fe22115-47ab-49a7-82b9-0afc100af16b_0
...

Also --pod-infra-container-image arg is set
$ docker exec -it kubelet bash
# ps -ef |grep cri-dockerd | grep -v grep
root        6783    6433  1 14:05 ?        00:00:13 /opt/rke-tools/bin/cri-dockerd --network-plugin=cni --cni-conf-dir=/etc/cni/net.d --cni-bin-dir=/opt/cni/bin --pod-infra-container-image=rancher/mirrored-pause:3.6

@rishabhmsra Thanks for calling this out, cri-dockerd is not supported for v1.19. It got added to the list because it's one of the new versions we're releasing for new rke-tools. Should see this in the logs when provisioning v1.19,
Failed to validate cluster: Enabling cri-dockerd for cluster version [v1.19.16-rancher1-4] is not supported

Oh okay @kinarashah, in that case we can close the issue. As on rest of the k8s versions v1.23.4-rancher1-1, v1.22.6-rancher1-2, v1.21.9-rancher1-2, pod infra containers are using the image from rancher/mirrored-pause, please see the validations here.


drivers: pinctrl: Add pinctrl driver for Gecko Series 1

This adds a new pinctrl driver for EFM32PG12B.

From what I see, the failing test is built for qemu_x86_64. I assume this is unrelated. Please let me know I should do anything about it.

Heya, this is breaking the main build for efr32xg24_dk2601b (try west build -p -b efr32xg24_dk2601b samples/basic/blinky) https://github.com/zephyrproject-rtos/zephyr/actions/runs/5670703471/job/15370055433
Could you look into it?

Heya, this is breaking the main build for efr32xg24_dk2601b (try west build -p -b efr32xg24_dk2601b samples/basic/blinky) https://github.com/zephyrproject-rtos/zephyr/actions/runs/5670703471/job/15370055433
Could you look into it?

I have noticed the same issue (in pr #59768). Is there missing a headerfile?
I have created a bug-report. Presumably, more reports will surface.


Refactoring Slider

[x] Removed old Slider component
[x] Breaking changes on new Slider component
[x] Changed index page
[x] Removed gradient colors
[x] Created /examples/slider pages for testing purposes

Professional work. Much appreciated!


Run tests in the browser as well

This small PR will ensure that all current tests will be run in a browser instance using karma

:scream:
Small question. Why do we need to test this since we are not using this library in the browser?

@pksunkara
Basically because we will need minim in the browser very soon. We will use it to render MSON attributes in the documentation with the new AST.

Ping @danielgtaylor

@XVincentX @pksunkara @smizell what do you think of only running the frontend tests on the CI hosts (or using phantomjs locally)? Having a Firefox window pop up every time that I run npm test is a bit jarring.

I agree with you.

@danielgtaylor There is a command for running just Node tests, added by @XVincentX in this request. This means that npm test runs all of the tests, while other commands are provided to do subsets of tests (such as npm nodejstests).
I'm fine making frontend tests run on CI only if that would be best for everyone.

Yeah I think this is probably fine. I'll just run npm run nodejstests for now and if it gets to be a problem I'll submit a PR to make the frontend tests only run on the CI hosts.

:+1:

Changes Unknown when pulling 8a030816002b89f95e1c69a749cfdc4d8d5ebfb7 on XVincentX:master into ** on refractproject:master**.


New version: Google.Chrome.Canary version 129.0.6622.0

Created by 🥟 Dumplings in workflow run #6919.

Log
Updated: 129.0.6621.0 → 129.0.6622.0
Submitting WinGet manifests
Creating manifests
Uploading manifests and making commits
Creating a pull request

Microsoft Reviewers: Open in CodeFlow

/azp run


[Bug Report] to will auto expand to \to and cannot be undo with CMD+Z in Mac OS

Input to in math block will auto expand to \to and cannot be undo with CMD+Z in Mac OS (will input z when cmd+z), Wihle other expand operation can be undo correctly(/ expand to \frac{}{} can be undo).  I also search the config text and didn't find trigger of to.

I have test it in obsidian sand box vault.

 Are you using the default snippets?

I also search the config text and didn't find trigger of to.

"to" is part of the ${SYMBOL} snippet variable (see the documentation for more info!).


DO NOT MERGE unify the format of variables documentation

This PR is here only to highlight differences when witching to the new variables documentation format as described in #257

I think the Reference section was better organized with the table format but I also think that it looks bad on pan.dev since it doesn't fit within the available width. And having the reference sections organized in the navigation pane in pan.dev is a nice thing to have. Considering both having the documentation formatted in markdown doc looks better to me.

/help

/help

Great job 👍
I like that approach to have 1 sentence for each variable in table and then details below.
I have 2 questions:

what is the reason to treat .header.md as hidden file, not just header.md ?
do we have possibility to add syntax colouring for examples embedded in variables description ?

@sebastianczech

what is the reason to treat .header.md as hidden file, not just header.md ?

the header file is just a part of the Readme, not a standalone document. The dot and idea of hiding it is just to emphasise that fact

do we have possibility to add syntax colouring for examples embedded in variables description ?

Sure, just add language specs in the variable description, like here
We didn't use that in the pass as table formatting didn't support that correctly. With document format the description is copied 1:1, hence all MD features should be supported


nixos/pipewire: add pipewire config

Description of changes
This work, but i feel like this could be improved

Things done

Built on platform(s)

[ ] 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

[ ] Fits CONTRIBUTING.md.

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

This is definitely not the way to do this. The default config should not be symlinked, and using it as default option values resurfaces all the issues that led to the previous version of this being removed.

This is definitely not the way to do this. The default config should not be symlinked

If we assume that pipewire merges the settings correct, then I think this is the way to go.

and using it as default option values resurfaces all the issues that led to the previous version of this being removed.

This was first done but later removed from this PR.

Pipewire will merge things correctly, symlinks or not. Also, looking closer, it would be nice to not generate anything at all if the options are unset, and maybe make the drop-in filenames customizable so the ordering can be controlled.

I also have started one version with a python script where i convert the lists to attrs on import and convert them back to lists when generating the configs so that the default configs in lists can be overriden

That is really unnecessary. We should be relying on Pipewire's own config merging here, not trying to emulate it.

I mad that so that the default elements in an array can be modified, which is not possible with pipewires config merge according to the pipewire wiki.

Note!! Properties will override the previous ones, array entries will be appended. It is not possible yet to change
or remove existing array entries. This only applied to the first level objects, arrays in properties will be overwritten as usual.

From https://gitlab.freedesktop.org/pipewire/pipewire/-/wikis/Config-PipeWire

The config is mostly structured so that it shouldn't be necessary? Do you have an example of where it's needed?

I just looked at the default pipewire configs again and did not find anything that i would override in the arrays. So im just not going to add the conversion.

Will add the suggestet improvements when im back from work

Removed the linking of the default config and made it so that you can make multiple files and name them.

Do you mind if I push some doc changes to your branch?

Do you mind if I push some doc changes to your branch?

Thats fine

How's this?

Looks way cleaner

Thanks!

This pull request has been mentioned on NixOS Discourse. There might be relevant details there:
https://discourse.nixos.org/t/loading-extra-pulseaudio-modules-automatically-when-using-pipewire/33480/2


emerging need: effective computing next steps after cluster 101

Hey @avahoffman and @carriewright11  we're needing something after cluster 101 that gets at how to use the Hutch cluster a bit more effectively so we can help folks adjust their usage of the cluster.  I'm realizing I'm struggling to make the documents needed to help people realize that their use of the cluster via whatever mechanism they're using now, could be more effective if they learned a little bit.
The outline we have of "Ways to do Computing" right now is roughly:
Modes and what they are best for:
Rhino:

login nodes
see what software you can use
do small, interactive jobs
test small jobs prior to scaling up
can run cronjobs from here to schedule things to happen regularly

Grabnode is a convenience for:

runs one big job with limited configuration options
not sure what this is best for???!?!

SLURM job submission to gizmo:

making jobs resilient to connectivity issues (grabnode sessions end your job if you lose connectivity)
no need to babysit the job this way
generates job logs for troubleshooting
uses the SLURM scheduler and better lab job allocation (helps you get resources sooner and in coordination with the rest of your lab and the Hutch users more broadly)
srun, sbatch, etc. gives you more control and options for configuration that let your jobs run better in many ways

Workflow managers:

good when you have multi-step processes that need to occur together
good when you're working on multiple different workflows at the same time
want to leverage the cluster allocation very efficiently by breaking jobs up
want to prepare a workflow for better reproducibility, sharing, and expanding to the cloud

Cloud computing:

once a workflow has been optimized (likely using a workflow manager above), leveraging the cloud for large, production workflows can help your lab's usage of the cluster while also encouraging reproducibility
Workflows can ideally be run by others, not just those with access to the Hutch resources

Could cluster 102 be this document?  Then we can keep expanding on the code and other topics in another class?

Sure, I think cluster 201 could cover some of these topics. Cloud computing should be separate, but could be mentioned.

MAybe just like what you can do on a local cluster in order to THEN move to the cloud. There are certainly some things we can do like shifting to docker containers and really optimizing the compute resources requested for tasks, and dealing with tar'ing reference data so it'll work in an object store that are best to do before even touching the cloud.

OK, closing this here b/c I used this as the outline for Cluster 201.  ;)


Update BrickColor.yaml

Example used RGB values 0-255, when BrickColor takes Color3 values 0-1 and constructs the nearest BrickColor.
Changes
Switched the colors from an RGB byte to a decimal between 0-1 and slightly modified the comment(wasn't sure how to word it).

As you can see, I am creating a new BrickColor with the values (255, 2, 2), which you would expect to be converted into a quite red color. Instead, these are interpreted as 0-1 values. Because the closest BrickColor to these values is Institutional white, that is the BrickColor applied.

Whereas if I divide all the values by 255, I get the expected result.
Checks
By submitting your pull request for review, you agree to the following:

[X] This contribution was created in whole or in part by me, and I have the right to submit it under the terms of this repository's open source licenses.
[X] I understand and agree that this contribution and a record of it are public, maintained indefinitely, and may be redistributed under the terms of this repository's open source licenses.
[X] To the best of my knowledge, all proposed changes are accurate.

Thanks for catching this! I took the effort to change all of the 0-255 ranges in the table to 0-1 decimal ranges as well.

Glad I could help! I saw the list but thought it would be a nightmare to change every BrickColor. Hope it wasn't too tedious!


Protractor triggers selenium exception, exits immediately saying all tests passed

When I run protractor, selenium opens chrome browser window then immediately closes.  It causes selenium to show the following exception backtrace.
13:39:42.306 WARN - Exception thrown
org.openqa.selenium.remote.SessionNotFoundException: Session ID is null. Using WebDriver after calling quit()?
Build info: version: '2.48.2', revision: '41bccdd', time: '2015-10-09 19:59:12'
System info: host: 'WLDMB0118.local', ip: '<IP_ADDRESS>', os.name: 'Mac OS X', os.arch: 'x86_64', os.version: '10.10.5', java.version: '1.7.0_79'
Driver info: driver.version: RemoteWebDriver
	at org.openqa.selenium.remote.HttpCommandExecutor.execute(HttpCommandExecutor.java:134)
	at org.openqa.selenium.remote.service.DriverCommandExecutor.execute(DriverCommandExecutor.java:82)
	at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:620)
	at org.openqa.selenium.remote.RemoteWebDriver$RemoteWebDriverOptions$RemoteWindow.setSize(RemoteWebDriver.java:853)
	at org.openqa.selenium.support.events.EventFiringWebDriver$EventFiringWindow.setSize(EventFiringWebDriver.java:621)
	at org.openqa.selenium.remote.server.handler.SetWindowSize.call(SetWindowSize.java:53)
	at org.openqa.selenium.remote.server.handler.SetWindowSize.call(SetWindowSize.java:1)
	at java.util.concurrent.FutureTask.run(FutureTask.java:262)
	at org.openqa.selenium.remote.server.DefaultSession$1.run(DefaultSession.java:176)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
	at java.lang.Thread.run(Thread.java:745)

Protractor immediately exits while showing every test passed.  By this I mean that all output from the spec reporter is green.  The entire process takes approximate 1.78 seconds.  We have tested this same suite with the exact same versions on 2 additional macs and one windows machine with the test suite behaving as expected.  We can see the browser step through the protractor tests normally.  On these other computers the process takes about 40 seconds.
We have tried multiple things to fix the problem including blowing away protractor, node modules, and reinstalling everything.  Try as we might we can not reproduce this problem elsewhere.  However protractor is clearly exhibiting the incorrect behavior, because if the selenium error occurs and the test cannot be carried out then protractor should not signal all tests as passing.
I am writing this both to report a bug and to ask for any help that can be offered in fixing this issue.
Please find information about my environment below:
Mac OSX 10.10.5
Darwin hostname.local 14.5.0 Darwin Kernel Version 14.5.0: Wed Jul 29 02:26:53 PDT 2015; root:xnu-2782.40.9~1/RELEASE_X86_64 x86_64
Google Chrome	47.0.2526.106 (Official Build) (64-bit)
Protractor version: 3.0.0.
Node version: 5.2.0
Grunt version: grunt-cli v0.1.13
grunt v0.4.5
Thanks very much for any help you can offer and please let me know if I can provide more information to help solve or diagnosis this problem.

Can you show your config file?

No problem the config file is:
  "webdriverVersions": {
    "selenium": "2.48.2",
    "chromedriver": "2.20",
    "iedriver": "2.48.0"
  }
}```

Sure, here's the config file:

exports.config = {

  specs: [e2eParentFolder+'/**/*.spec.js'],

  suites: {
  // ...snip...
  },

  multiCapabilities: [{
   browserName: 'chrome',
   maxInstances: 1
  }],

  allScriptsTimeout: 11000,
  getPageTimeout: 10000,

  framework: 'jasmine2',

  jasmineNodeOpts: {
   isVerbose: false,
   showColors: true,
   includeStackTrace: false,
   defaultTimeoutInterval: 40000,
   print: function() {}
  },

  onPrepare: function () {

    var SpecReporter = require('jasmine-spec-reporter');
    var jasmineReporters = require('jasmine-reporters');

    jasmine.getEnv().addReporter(new SpecReporter({displayStacktrace: 'all'}));

    jasmine.getEnv().addReporter(
      new jasmineReporters.JUnitXmlReporter({
        consolidateAll: true,
        savePath: 'output',
        filePrefix: 'xmloutput'
      })
    );

    (function login() {
      var disableLogin = browser.params.disableLogin, password;
      var width = 1024, height = 1024;

      var loginUrl = browser.params.loginUrl || browser.baseUrl;

      browser.driver.manage().window().setSize(width, height);

      browser.driver.get(loginUrl);

      if (disableLogin !== true) {

        password = process.env.PASSWORD;

        if (typeof password !== 'undefined') {

          browser.driver.findElement(by.id('username')).sendKeys('username');
          browser.driver.findElement(by.id('passwordinput')).sendKeys(password);
          browser.driver.findElement(by.css('button.btn')).click();

          return browser.driver.wait(function() {
            return browser.driver.get(browser.baseUrl).then(function(url) {
              return true;
            });
          }, 10000);

        } else {
          throw new Error('PASSWORD was not provided.');
        }

      }
    }());

  }
}```

Sure, here it is:
var e2eParentFolder = '../test/e2e';

exports.config = {

  specs: [e2eParentFolder+'/**/*.spec.js'],

  suites: {
  // ...snip...
  },

  multiCapabilities: [{
   browserName: 'chrome',
   maxInstances: 1
  }],

  allScriptsTimeout: 11000,
  getPageTimeout: 10000,

  framework: 'jasmine2',

  jasmineNodeOpts: {
   isVerbose: false,
   showColors: true,
   includeStackTrace: false,
   defaultTimeoutInterval: 40000,
   print: function() {}
  },

  onPrepare: function () {

    var SpecReporter = require('jasmine-spec-reporter');
    var jasmineReporters = require('jasmine-reporters');

    jasmine.getEnv().addReporter(new SpecReporter({displayStacktrace: 'all'}));

    jasmine.getEnv().addReporter(
      new jasmineReporters.JUnitXmlReporter({
        consolidateAll: true,
        savePath: 'output',
        filePrefix: 'xmloutput'
      })
    );

    (function login() {
      var disableLogin = browser.params.disableLogin, password;
      var width = 1024, height = 1024;

      var loginUrl = browser.params.loginUrl || browser.baseUrl;

      browser.driver.manage().window().setSize(width, height);

      browser.driver.get(loginUrl);

      if (disableLogin !== true) {

        password = process.env.PASSWORD;

        if (typeof password !== 'undefined') {

          browser.driver.findElement(by.id('username')).sendKeys('username');
          browser.driver.findElement(by.id('passwordinput')).sendKeys(password);
          browser.driver.findElement(by.css('button.btn')).click();

          return browser.driver.wait(function() {
            return browser.driver.get(browser.baseUrl).then(function(url) {
              return true;
            });
          }, 10000);

        } else {
          throw new Error('PASSWORD was not provided.');
        }

      }
    }());

  }
}

This problem seems like it has two parts. For the first, it seems like there's a Selenium issue. Second, if there is such a Selenium issue, Protractor should never report all green.

I received the same error updating from 2.5.1. Rolled back instead of investigation.

I am having the same issue. I have cornered the issue down to browser.wait no longer working as before. When it times out, it does not throw any catchable error, instead everything quits with no output. This is my browser.wait that executes soon after the first page loads:
this.waitForPresent = function(elem, timeout) {     timeout = (timeout === undefined) ? 30000 : timeout;     return browser.wait(function() {       console.log('waiting');       return elem.isPresent().then(function(value){         return value;       });     }, timeout);   };
This is the test output I get:
waiting
waiting
waiting
waiting
waiting
waiting
....
waiting
And that's it. No process exits message; no further output. Just put back on the command line ready for another command to be ran.
Calling code does:
waitForPresent(...).then(function(){}, function(){}) and catches any timeouts and then knows how to proceed testing in this case. However, it no longer catches any errors. I believe the error-handling is broken and it is bubbling all the way up the chain with no exception handlers properly catching the errors and therefore no console output ever occurs either.

I'm unable to reproduce this issue. Everything I try results in Protractor exiting with code 1. Here's an example of using wait that times out:
 // in config:
  onPrepare: function() {
    browser.wait(function() {
      console.log('waiting...');
      return false;
    }, 1000);
  }

This results in Error: Wait timed out after 1000ms and an exit code of 1.
I'm going to close this issue as unable to reproduce. However, if you are able to create a reproducible case we can run, please open up a new issue! Thanks.

Seems like the issue for me was with calling browser in a global afterEach.
Made a repo to reproduce: https://github.com/vstene/protractor-session-id-null
I only see the error on Browserstack / Sauce Labs.

We also had benchpress 2.0.0-beta.6 in our package.json.
benchpress depends on selenium-webdriver 2.52.0.
protractor 3.1.1 wants 2.48.2.
This setup forced npm to create:
myapp/node_modules/protractor/node_modules/selenium_webdriver -> 2.48.2  (for protractor)
myapp/node_modules/selenium_webdriver -> 2.52.0  (for benchpress)
And from what I can see, protractor is then resolving selenium-webdriver 2.52.0 and not working correctly.  (I guess jasminewd2 searches up from myapp/node_modules/jasminewd2 and finds myapp/node_modules/selenium_webdriver?)
It was crazy to see all the steps queued up in the webdriver control flow (getSchedule()), but then to have the test complete instantly... sort of hard to trace this one back to a root cause.
I can help to create a simple project with the problem if it helps.  This is my best lead so far on this one though.

An env NODE_DEBUG=module ./node_modules/protractor/bin/protractor was somewhat helpful.
With the correct happy setup I see selenium-webdriver loaded from the top of my local: ./node_modules/selenium-webdriver.
With the polluted version where 2.52.0 is in ./node_modules/selenium-webdriver and 2.48.2 is in ./node_modules/protractor/node_modules/selenium-webdriver I see webdriver loaded from both locations: first from ./node_modules/protractor/node_modules/selenium-webdriver (via protractor.js) and then later loaded again from./node_modules/selenium-webdriver via jasminewd2:
Load 1:
DEBUG - Protractor version: 3.1.1
DEBUG - Your base url for tests is https://localhost:9000/
MODULE 906: Module._load REQUEST ./configParser parent: /work/app/node_modules/protractor/lib/taskRunner.js
MODULE 906: RELATIVE: requested: ./configParser set ID to: /work/app/node_modules/protractor/lib/configParser from /work/app/node_modules/protractor/lib/taskRunner.js
MODULE 906: looking for "/work/app/node_modules/protractor/lib/configParser" in ["/work/app/node_modules/protractor/lib"]
MODULE 906: Module._load REQUEST /work/app/protractor.conf.localhost.js parent: /work/app/node_modules/protractor/lib/configParser.jsMODULE 906: looking for "/work/app/protractor.conf.localhost.js" in ["/work/app/node_modules/protractor/lib/node_modules","/work/app/node_modules/protractor/node_modules","/work/app/node_modules","/work/node_modules","/node_modules","/Users/fred/.node_modules","/Users/fred/.node_libraries","/usr/local/lib/node"]
MODULE 906: Module._load REQUEST ./runner parent: /work/app/node_modules/protractor/lib/taskRunner.js
MODULE 906: RELATIVE: requested: ./runner set ID to: /work/app/node_modules/protractor/lib/runner from /work/app/node_modules/protractor/lib/taskRunner.js
MODULE 906: looking for "/work/app/node_modules/protractor/lib/runner" in ["/work/app/node_modules/protractor/lib"]
MODULE 906: load "/work/app/node_modules/protractor/lib/runner.js" for module "/work/app/node_modules/protractor/lib/runner.js"
MODULE 906: Module._load REQUEST ./protractor parent: /work/app/node_modules/protractor/lib/runner.js
MODULE 906: RELATIVE: requested: ./protractor set ID to: /work/app/node_modules/protractor/lib/protractor from /work/app/node_modules/protractor/lib/runner.js
MODULE 906: looking for "/work/app/node_modules/protractor/lib/protractor" in ["/work/app/node_modules/protractor/lib"]
MODULE 906: load "/work/app/node_modules/protractor/lib/protractor.js" for module "/work/app/node_modules/protractor/lib/protractor.js"
MODULE 906: Module._load REQUEST util parent: /work/app/node_modules/protractor/lib/protractor.js
MODULE 906: load native module util
MODULE 906: Module._load REQUEST url parent: /work/app/node_modules/protractor/lib/protractor.js
MODULE 906: load native module url
MODULE 906: Module._load REQUEST selenium-webdriver parent: /work/app/node_modules/protractor/lib/protractor.jsMODULE 906: looking for "selenium-webdriver" in ["/work/app/node_modules/protractor/lib/node_modules","/work/app/node_modules/protractor/node_modules","/work/app/node_modules","/work/node_modules","/node_modules","/Users/fred/.node_modules","/Users/fred/.node_libraries","/usr/local/lib/node"]
MODULE 906: load "/work/app/node_modules/protractor/node_modules/selenium-webdriver/index.js" for module "/work/app/node_modules/protractor/node_modules/selenium-webdriver/index.js"
...

Load 2:
MODULE 906: Module._load REQUEST jasminewd2 parent: /work/app/node_modules/protractor/lib/frameworks/jasmine.js
MODULE 906: looking for "jasminewd2" in ["/work/app/node_modules/protractor/lib/frameworks/node_modules","/work/app/node_modules/protractor/lib/node_modules","/work/app/node_modules/protractor/node_modules","/work/app/node_modules","/work/node_modules","/node_modules","/Users/fred/.node_modules","/Users/fred/.node_libraries","/usr/local/lib/node"]
MODULE 906: load "/work/app/node_modules/jasminewd2/index.js" for module "/work/app/node_modules/jasminewd2/index.js"
MODULE 906: Module._load REQUEST selenium-webdriver parent: /work/app/node_modules/jasminewd2/index.js
MODULE 906: looking for "selenium-webdriver" in ["/work/app/node_modules/jasminewd2/node_modules","/work/app/node_modules","/work/node_modules","/node_modules","/Users/fred/.node_modules","/Users/fred/.node_libraries","/usr/local/lib/node"]
MODULE 906: load "/work/app/node_modules/selenium-webdriver/index.js" for module "/work/app/node_modules/selenium-webdriver/index.js"
MODULE 906: Module._load REQUEST ./builder parent: /work/app/node_modules/selenium-webdriver/index.js
MODULE 906: RELATIVE: requested: ./builder set ID to: /work/app/node_modules/selenium-webdriver/index.js/builder from /work/app/node_modules/selenium-webdriver/index.js
MODULE 906: looking for "/work/app/node_modules/selenium-webdriver/index.js/builder" in ["/work/app/node_modules/selenium-webdriver"]
MODULE 906: load "/work/app/node_modules/selenium-webdriver/builder.js" for module "/work/app/node_modules/selenium-webdriver/builder.js"
MODULE 906: Module._load REQUEST ./chrome parent: /work/app/node_modules/selenium-webdriver/builder.js
MODULE 906: RELATIVE: requested: ./chrome set ID to: /work/app/node_modules/selenium-webdriver/chrome from /work/app/node_modules/selenium-webdriver/builder.js
MODULE 906: looking for "/work/app/node_modules/selenium-webdriver/chrome" in ["/work/app/node_modules/selenium-webdriver"]
MODULE 906: load "/work/app/node_modules/selenium-webdriver/chrome.js" for module "/work/app/node_modules/selenium-webdriver/chrome.js"
...

Not sure if other folks were seeing this exact behaviour, but I hope it helps.

fwiw I thought that the second load of the same module via a require('selenium-webdriver') should have resulted in a load from the cache, not the disk per https://nodejs.org/api/modules.html#modules_caching.  Maybe it's a bug in node, or maybe I don't get it.
Reading https://github.com/nodejs/node/blob/master/lib/module.js#L285 didn't make my understanding much better.  I don't think I would have used the filename as a cache key (the resolve before the cache lookup seems counter-intuitive), but maybe there is a good reason to want to allow multiple copies of things to run in node in certain cases...


Build test on debug only

Still getting some warnings on sc_threads
/home/delboni/Workspace/c/sc/thread/sc_thread.c: In function ‘sc_thread_start’:
/home/delboni/Workspace/c/sc/thread/sc_thread.c:127:9: error: ‘strncpy’ specified bound 128 equals destination size [-Werror=stringop-truncation]
  127 |         strncpy(thread->err, strerror(rc), sizeof(thread->err));
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/delboni/Workspace/c/sc/thread/sc_thread.c:118:9: error: ‘strncpy’ specified bound 128 equals destination size [-Werror=stringop-truncation]
  118 |         strncpy(thread->err, strerror(rc), sizeof(thread->err));
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[ 79%] Built target sc_option
[ 79%] Built target sc_heap
/home/delboni/Workspace/c/sc/thread/sc_thread.c: In function ‘sc_thread_join’:
/home/delboni/Workspace/c/sc/thread/sc_thread.c:147:9: error: ‘strncpy’ specified bound 128 equals destination size [-Werror=stringop-truncation]
  147 |         strncpy(thread->err, strerror(rc), sizeof(thread->err));
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Just add at the end of those lines:
        strncpy(thread->err, strerror(rc), sizeof(thread->err) - 1);

You missed line 147 sc/thread/sc_thread.c:147 :)

wow, my gcc & clang don't complain about that.

I usually have to clean the build or make a different one for release and debug to have these warnings showing on haha
Thanks, is working fine now!

closes #44

Thanks a lot for issue & review


Absurdly Large Project Structure and Namespace Refactor

GIGA REFACTOR

Refactors all namespaces to SS14., renames projects and project folders to match. (Except for the client and server projects.)
Renamed any classes with SS13 or SS3D in the name to use SS14.
Updated scripts and prebuild files to use the new directories.
Updated the copyright assembly attributes to 2015.
Probably destroyed any chance of other coders merging in their work.

Has this been commited to Phabricator?

doesn't look like it got commited to phab


BUG:search product not found then display not found type card

Is there an existing issue for this?

[X] I have searched the existing issues

What happened?
@Suchitra-Sahoo ,
if search query not match then display not found product or no available :

Record

[X] I agree to follow this project's Code of Conduct
[X] I'm a GSSOC'24 contributor
[X] I want to work on this issue

@Suchitra-Sahoo ,please assign me i really want to work on that

@Suchitra-Sahoo please assign this to me.


Added fallback for unregistered types in relationships

Closes #88.

Thanks, looks good to me! Can you perhaps write some tests for this? For example a simple test that checks whether the type fallback works for linked resources?

@wvteijlingen Done.

Thanks!


Type check error by providing union to function that declared for every part of this union

TypeScript Version:  3.3.4000, also reproducible on typescript@next

Search Terms:
union type, no match for signature
Code
type A = { a: 1 };
type B = () => { b: 2 };
type Union = A | B;

interface Func {
    (a: A): string;
    (b: B): number;
}

// f ist example of Func and should implement Func,
// but if you uncomment this line, you become an error. Is it expected?
// const f: Func = (u: Union) => isA(u) ? "A" as string : 2 as number;

const isA = (u: Union): u is A => "a" in u;

const g = (f: Func) => (u: Union) => f(u);

Expected behavior:
No error
Actual behavior:
const g = (f: Func) => (u: Union) => f(u);
                                       ^

Argument of type 'Union' is not assignable to parameter of type 'B'.
  Type 'A' is not assignable to type 'B'.
    Type 'A' provides no match for the signature '(): { b: 2; }'.

Workaround:
interface Func {
    (a: A): string;
    (u: Union): number;
}

Playground Link:
https://www.typescriptlang.org/play/#src=type A %3D { a%3A 1 }%3B
type B %3D () %3D> { b%3A 2 }%3B
type Union %3D A | B%3B

export interface Func {
    (a%3A A)%3A string%3B
    (b%3A B)%3A number%3B
}

%2F%2F f ist example of Func and should implement it%2C
%2F%2F but if you uncomment this line%2C you become an error. Is it expected%3F
%2F%2F const f%3A Func %3D (u%3A Union) %3D> isA(u) %3F "A" as string %3A 2 as number%3B

const isA %3D (u%3A Union)%3A u is A %3D> "a" in u%3B

const g %3D (f%3A Func) %3D> (u%3A Union) %3D> f(u)%3B

Duplicate of #14107

@jcalz thank you! I knew that this would be duplicate but couldn't find the issue 😬


Mice support

Hi,
Many thanks for your work.
I was wondering how could I add mice support to your project.
Did you already try ?

I did manage to get mouse emulation to work in my project here: https://github.com/nutki/bt-keyboard-switcher


Form close detection

Code has shitty doc please fix doc

Isn't Closable a better name than Closer?


See the team my key is connected to

Story
As a console user connected to a TEAM
I want to easily see the key team info
So that I can feel part of that team
Acceptance Criteria
Relates to browser wallet ticket https://github.com/vegaprotocol/vegawallet-browser/issues/446

[ ] There is a way to see which keys are a part of a team e.g. I can see the team image or a generic referral code image next to my key
[ ] There is a way to see which keys have a referral code applied e.g. the image is repeated in the list
[ ] Where my key is part of a team, I can see the team name, image and team reward
[ ] For referral codes in teams and not, I can see see the tier, fee discount and referrer reward
[ ] There is a way to see how long you have been a part of this referral code tier
[ ] There is a way to see how long left there is to enter the next tier
[ ] There is a way to see / get to the details of my savings and earnings i.e. a link to the referral programme site
[ ] Stretch task. As a fallback use the generated icon (currently used for pubkeys) for the team avatar if one doesn't exist

Tasks

[ ] UX (if needed)
[ ] Design (if needed)
[ ] Team and stakeholder review
[ ] Specs reviewed and created or adjusted
[ ] Implementation
[ ] Testing (unit and/or e2e)
[ ] Code review
[ ] QA review

Sketch

Additional details / background info

I do not think we will do this, we have decided we wont do various things like this araound referrals ... I dont see why we'd do it here.

I dont think we care about this .... pushing it out into the future a long way.


Updated Youtube link

Updated Youtube link
Trello card
Context
Changes proposed in this pull request
Guidance to review

@laurahermionetennant92 @philspray
I know this is just an update of the previous video - from a previous conversation with Sam/Christine, YouTube autocaptions are generally OK as a fallback
However, when I test this out in the review app, the video is set to private?

Christine had set the old one to private so it could still be found by people who'd bookmarked it. If auto captions are OK I can reupload the new one?

@laurahermionetennant92 Is this PR still needed? The video you want to link to is still marked as private so we can't merge this.
If this change is no longer needed, I will close the PR.


Check if .pi build rules are defined

.pi files are created for .o files that build.products depends on, but
an error will occur if the build rule is unknown, so add a check.
I don't think this situation would normally arise. However, in
mattn/mruby-onig-regexp, when using bundled onigmo, onigmo's .o files
are added to dependency of libmruby.a in the second and subsequent builds,
and mruby does not know the build rule, so the following error had occured.
rake aborted!
Don't know how to build task '/mruby/build/host/mrbgems/mruby-onig-regexp/onigmo-6.2.0/libonig_objs/ascii.pi' (See the list of available tasks with `rake --tasks`)

BTW, with this fix, rake test:integration of mitamae was successful. The following test failed on my box, but I don't think it is a mruby problem due to environmental, etc. problems.

Tests specifying itamae user
Tests related to HTTP redirection

The dependent gems are:

Gem
Commit

ksss/mruby-file-stat
2d3ea9b5d59d2b41133228a71c110b75cb30a31e

k0kubun/mruby-hashie
c69255a94debcd641f2087b569f5625509bde698

k0kubun/mruby-open3
b2dba93fdbd60dcff8aa20b6c56014ac89d267ad

k0kubun/mruby-shellwords
2a284d99b2121615e43d6accdb0e4cde1868a0d8

k0kubun/mruby-specinfra
69fe4306e2b004baa9dd54d4fbf9262988ce7d03

k0kubun/mruby-erb
978257e478633542c440c9248e8cdf33c5ad2074

k0kubun/mruby-tempfile
e628c8fcb4bca3f3456640a8b56d1ae98c594e24

mrbgems/mruby-yaml
0606652a6e99d902cd3101cf2d757a7c0c37a7fd

eagletmt/mruby-etc
e36e8dd99c8c62bb8390c9142c46e0294ee90dbd

ksss/mruby-at_exit
09af1ecdce7b39582023c7614f8305386ee4d789

iij/mruby-dir
89dceefa1250fb1ae868d4cb52498e9e24293cd1

gromnitsky/mruby-dir-glob
334c040a2e2c4c2689f8c3440168011f64d57ada

iij/mruby-env
056ae324451ef16a50c7887e117f0ea30921b71b

mattn/mruby-json
054699892b0d681110e7348440cddb70a3fd671e

fastly/mruby-optparse
e6397a090d1efe04d5dab57c63897f0d79bbad89

zzak/mruby-uri
b3108ae56a48990eb7b79f44aca4ec76e1e60ad8

tatsushid/mruby-schash
c8470d4be2404b4cfbb8011daebc2ca9bb1cdb80

iij/mruby-process
95da206a5764f4e80146979b8e35bd7a9afd6850

mattn/mruby-onig-regexp
76087d150d12f167e95ae10d326099b352cf3d18

ksss/mruby-singleton
73dd4bae1a47d82e49b8f85bf27f49ec4462052e

iij/mruby-errno
b4415207ff6ea62360619c89a1cff83259dc4db0

IceDragon200/mruby-catch-throw
2b6eaff4232b4a9473b864df53c2917080af5dcf


Added extra fields for cronjob

/retest

Thanks for the comments @BlakeHolifield I hadn't finished with this one - but you helped me with the crafty research :)

/retest

/retest


AWS IoT Device Client Segmentation fault

Describe the bug
When trying to follow the Get Started with AWS IoT tutorial, I've replaced the Cloud9 instance with my own Raspberrypi. I manage to do everything until the end of the 3.3. For some reason the aws-iot-device-client service does not work. I tried to run directly the executable (sudo /sbin/aws-iot-device-client  --config-file /etc/.aws-iot-device-client/aws-iot-device-client.conf) and I got a "Segmentation fault" error.
To Reproduce
Steps to reproduce the behavior:

Install a clean version of RaspberryOS lite
Install cmake, libssl-dev, git
Install AWS iot sdk (is this necessary?)
Install and configure AWS CLI
Install AWS iot device client
Execute the setup.sh script

Logs
2024-07-04T14:02:35.906Z [INFO]  {Config.cpp}: Successfully fetched JSON config file:
    {
      "endpoint":       "endpoint",
      "cert":   "cert",
      "key":    "key",
      "root-ca":        "root-ca",
      "thing-name":     "deviceClientThing",
      "logging":        {
        "level":        "DEBUG",
        "type": "FILE",
        "file": "/var/log/aws-iot-device-client/aws-iot-device-client.log",
        "enable-sdk-logging":   false,
        "sdk-log-level":        "TRACE",
        "sdk-log-file": "/var/log/aws-iot-device-client/sdk.log"
      },
      "jobs":   {
        "enabled":      true,
        "handler-directory": "/etc/.aws-iot-device-client/jobs"
      },
      "tunneling":      {
        "enabled":      true
      },
      "device-defender":        {
        "enabled":      true,
        "interval": 300
      },
      "fleet-provisioning":     {
        "enabled":      false,
        "template-name": "",
        "template-parameters": "",
        "csr-file": "",
        "device-key": ""
      },
      "samples": {
        "pub-sub": {
          "enabled": true,
          "publish-topic": "/topic/workshop/dc/pub",
          "publish-file": "/home/pi/workshop_dc/pubfile.txt",
          "subscribe-topic": "/topic/workshop/dc/sub",
          "subscribe-file": "/home/pi/workshop_dc/subfile.txt"
        }
      },
      "config-shadow":  {
        "enabled":      false
      },
      "sample-shadow": {
        "enabled": false,
        "shadow-name": "",
        "shadow-input-file": "",
        "shadow-output-file": ""
      }
    }

2024-07-04T14:02:35.906Z [INFO]  {FileUtils.cpp}: Successfully create directory /root/.aws-iot-device-client/sample-shadow/ with required permissions 700
2024-07-04T14:02:35.906Z [INFO]  {Config.cpp}: ~/.aws-iot-device-client/sample-shadow/default-sample-shadow-document
2024-07-04T14:02:35.906Z [INFO]  {Config.cpp}: Succesfully create default file: /root/.aws-iot-device-client/sample-shadow/default-sample-shadow-document required for storage of shadow document
2024-07-04T14:02:35.906Z [DEBUG] {Config.cpp}: Did not find a runtime configuration file, assuming Fleet Provisioning has not run for this device
2024-07-04T14:02:35.906Z [DEBUG] {Config.cpp}: Did not find a http proxy config file /root/.aws-iot-device-client/http-proxy.conf, assuming HTTP proxy is disabled on this device
2024-07-04T14:02:35.907Z [DEBUG] {EnvUtils.cpp}: Updated PATH environment variable to: /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/root/.aws-iot-device-client:/root/.aws-iot-device-client/jobs:/home/pi/workshop_dc/aws-iot-device-client:/home/pi/workshop_dc/aws-iot-device-client/jobs
2024-07-04T14:02:35.907Z [DEBUG] {LockFile.cpp}: creating lockfile
2024-07-04T14:02:35.907Z [INFO]  {Main.cpp}: Now running AWS IoT Device Client version v1.9.1-bfae937
2024-07-04T14:02:35.907Z [INFO]  {SharedCrtResourceManager.cpp}: SDK logging is disabled. Enable it with --enable-sdk-logging on the command line or logging::enable-sdk-logging in your configuration file
2024-07-04T14:02:35.907Z [DEBUG] {Retry.cpp}: Retryable function starting, it will retry until success
2024-07-04T14:02:36.022Z [INFO]  {SharedCrtResourceManager.cpp}: Establishing MQTT connection with client id deviceClientThing...
2024-07-04T14:02:36.648Z [INFO]  {SharedCrtResourceManager.cpp}: MQTT connection established with return code: 0
Segmentation fault

Additional context
Is this related to this issue?

Hello @veigaMak , thank you for reaching out to us. To answer your question, no the issue you have linked should not related since it was resolved in previous client version update.
Give us some time to reproduce the issue and find the root cause. Most likely it is an setup issue but I can share more details once I reproduce the issue and solve it.
Regards,
Harsh Gandhi

Hello @HarshGandhi-AWS.
Any news on this issue, I'm also getting this exact behaviour.
Here's some additional info on my system
Linux version 6.6.20+rpt-rpi-v8<EMAIL_ADDRESS>(gcc-12 (Debian 12.2.0-14) 12.2.0, GNU ld (GNU Binutils for Debian) 2.40) #1 SMP PREEMPT Debian 1:6.6.20-1+rpt1 (2024-03-07)

Cheers

Hi @rui-maksense . Thanks for reaching out to us. I see that you haven't provided the absolute path to the cert, key and roo-ca, in your aws-iot-device-client.conf file. Also, you haven't provided the endpoint it seems. Kindly try with these 2 modifications and let me know if it is working.
{
      "endpoint":       "endpoint",
      "cert":   "cert",
      "key":    "key",
      "root-ca":        "root-ca",

It should look something like:
{
  "endpoint": "<endpoint>",
  "cert": "<cert_file_path>/cert.pem.crt",
  "key": "<key_file_path>/private.pem.key",
  "root-ca": "<root_ca_path>/AmazonRootCA1.key",

If it still doesn't work, we suggest you to try and follow the updated documentation for Device Client and let us know if it resolves your issue.

hi @ig15 , it was me that provided the aws-iot-device-client.conf file. Yeah I know that in that log it does not have the correct paths. I removed it before posting it, for privacy reasons. In the actual log the paths were correct.

Hey @veigaMak . Can you set  "enable-sdk-logging":  true,         "sdk-log-level":  "DEBUG",  and send the logs that you get to help us better understand and debug the issue. Also I hope you have checked the updated documentation for Device Client.


Clear followed by setItem doesn't work (if clear is using async await)

I've created a codesandbox to demonstrate the problem: https://codesandbox.io/s/localforage-clear-issue-945-8ip2z
Look at Vue.app methods. When you click the Reset Cache button it will clear the store but will not setItem afterwards due to the await keyword.
To get it to work, the await keyword must be removed. This is unexpected as the docs show an example indicating that this method supports promises: https://localforage.github.io/localForage/#data-api-clear

Well. I'm confused. It wasn't working on codesandbox... but now it is working. Still not working in my app though.


🚀 - Jupyter Notebook Frame/Style

Which @codeimage/* package(s) are relevant/releated to the feature request?
No response
Description
Thank you for such a great tool!
I was wondering if there were any way/plans to create code images within a Jupyter Notebook frame/style similar to the one in the below image.
Any advice would be greatly appreciated.

Hi, at the moment there is no way to use different frame in the current editor. Also, I've never used jupyter notebook so I need more information to understand which way the frame should be. From the screenshot it looks like a text editor

Thank you for your response @riccardoperra.  Yeah, a notebook is an interactive web-based “IDE” popular in the Data Science community.
I was thinking we could somehow use the window control portion of the image to our advantage and replace it with a notebook style “banner” to give the same look-and-feel.
I note that there is also some work on custom themes going on so I’m not sure if this could also be used when ready?

What's would be the change in the custom theme?
Anyway, currently there is already a "MacOS terminal" and "Windows terminal" style. If u want you can open a PR for a POC to try to add a new style for notebook jupiter


Works for me on Mojave, 10.14.6 MCB

Just in case it is relevant, I am dropping a note that the scroll-reverser works for me on 10.14.6 on MacBook Pro, 15" 2019.
Cheers!

Thanks! :)


Which header is this class defined in?

Great documentation except I don't see ANYWHERE on the page that says which header to include!!!

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

ID: de9b7acc-1ab4-e60c-7743-618751015b61
Version Independent ID: 6a720992-abb5-3daa-e7be-3e7d9e0d6c66
Content: COleDropTarget Class
Content Source: docs/mfc/reference/coledroptarget-class.md
Product: visual-cpp
Technology: cpp-mfc
GitHub Login: @TylerMSFT
Microsoft Alias: twhitney

@ClintWeisbrod-ES
This class is specifically defined in afxole.h, which is included by several headers, including stdafx.h and afxwin.h, if you're trying to avoid redundancy.

@ClintWeisbrod-ES
This class is specifically defined in afxole.h, which is included by several headers, including stdafx.h and afxwin.h, if you're trying to avoid redundancy.

Thanks! This is my bad. I did end up finding the header it in the doc I was bitching about. Sorry. Was just in a rush and was more scanning than carefully reading the page.

From: Colin Robertson<EMAIL_ADDRESS>Sent: Monday, January 4, 2021 2:31 PM
To: MicrosoftDocs/cpp-docs
Cc: Clint Weisbrod; Mention
Subject: Re: [MicrosoftDocs/cpp-docs] Which header is this class defined in? (#2676)
@ClintWeisbrod-EShttps://github.com/ClintWeisbrod-ES
This class is specifically defined in afxole.h, which is included by several headers, including stdafx.h and afxwin.h, if you're trying to avoid redundancy.

You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://github.com/MicrosoftDocs/cpp-docs/issues/2676#issuecomment-754171067, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AR6ZYM6DIKTTSF5EZQ56APTSYIJSVANCNFSM4VDOB5UQ.

Thanks! This is my bad. I did end up finding the header it in the doc I was bitching about. Sorry. Was just in a rush and was more scanning than carefully reading the page.

From: Colin Robertson<EMAIL_ADDRESS>Sent: Monday, January 4, 2021 2:31 PM
To: MicrosoftDocs/cpp-docs
Cc: Clint Weisbrod; Mention
Subject: Re: [MicrosoftDocs/cpp-docs] Which header is this class defined in? (#2676)
@ClintWeisbrod-EShttps://github.com/ClintWeisbrod-ES
This class is specifically defined in afxole.h, which is included by several headers, including stdafx.h and afxwin.h, if you're trying to avoid redundancy.

You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://github.com/MicrosoftDocs/cpp-docs/issues/2676#issuecomment-754171067, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AR6ZYM6DIKTTSF5EZQ56APTSYIJSVANCNFSM4VDOB5UQ.

@ClintWeisbrod-ES
Ah, good, glad you found it. I didn't actually check that bit.

@ClintWeisbrod-ES
Ah, good, glad you found it. I didn't actually check that bit.


Change accountDetails to bankAccount & accountCodes to accountIdentif…

…ication

Pull Request Test Coverage Report for Build 46

9 of 9 (100.0%) changed or added relevant lines in 2 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 96.076%

Totals

Change from base Build 41:
0.0%

Covered Lines:
1910

Relevant Lines:
1988

💛  - Coveralls


Usage guidelines for form needs animation and update

[ ] The guidelines don't seem to match the animation.

[ ] Update the animation

The guidance says:
"The validation should appear when the user has clicked away from the text field. Once the user corrects the errors within the text field, the validation should disappear once the data is rendered as valid."
The animation does not show validation happening when clicked away from text field. It only happens when they try to submit.
https://www.carbondesignsystem.com/components/form/usage#form-validation

@designertyler Do we know which is correct? The animation or the guidelines?


Stable Diffusion examples/tutorials

There are no Stable Diffusion examples or tutorials for 1.5, 2.1 or SDXL

Hi @mmcclean-aws , in our documentation, we offered a guide with code snippets and examples for both SD and SDXL models.
https://huggingface.co/docs/optimum-neuron/guides/models#stable-diffusion
Do the tutorials you mention here refer to a notebook-like guide?
pinging @philschmid, are you preparing something as well?

Yes, working on a SageMaker example.

@JingyaHuang these are great examples. Perhaps they should go in the tutorial section rather than the heading Neuron models for inference whereas we need a specific section calling out Stable Diffusion tutorial/example

Can we have an SD inference tutorial with and with out sagemaker.
For the one without sagemaker, can it be for SD model. (NeuronStableDiffusionPipeline) where customer can compile/export a model and then loads a model and then does sample inference.

What do you think about Matt's suggestion about moving SD related doc to the tutorial section? I agree that we should probably place SD related doc under the same section instead of mixing with other nlp models. @philschmid

Agree with moving them to their own tutorial section would be better than where they are currently are. Can you also include ready to run examples for each model on github, similar to the sdxl one just published?

Yes, moving those to separate tutorial would be better, can we make the tutorial end-to-end , similar to the published blog.  While the blog focused on sagemaker, this tutorial can be stand alone running on inf2/trn1.

@JingyaHuang having a clear end-to-end documentation/guide for SD/SD XL sounds good to me. It might be easier to find for customer.

Sounds good folks, so I will:

For optimum-neuron documentation, migrate the SD related examples from How-to Guides to Tutorials .
Create separate notebooks for SD and SDXL for different tasks and put them under optimum-neuron's github repo

I will make a PR today and tag you all for review, thx.

Hi @rgrandhiamzn @mmcclean-aws @kamranjkhan, SD related doc migration and notebooks are added in the PR #312, could you take a look?


Fix 527

Fix for https://github.com/ffi/ffi/issues/527 based on your patch. I attempted to workaround OSX, can you check this?

appveyor didn't build but it never has. Should I pay attention?

@kugel- Thanks for working on this issue! It looks good to me. Don't bother with appveyor. I did a ffi spec run locally on Ruby-2.4 on Windows-10 and it didn't show any errors. So if I find the time, I'll fix it. But for now it's unrelated.
The more interesting part is to do some checks of ffi->fiddle and vice versa. Are you working on this?

I'm working on a test yes. I just wonder how to involve fiddle (if at all)?
My current plan is to re-use my program from https://github.com/ffi/ffi/issues/527 and transform it into a test case (i.e. exec()'ing it from a test script and observing if it hangs). I'm new to rspec and friends so I'm open for suggestions.

The root cause for blocking callbacks is the use of a call frame to save the state of the GVL. This call frame is specific to ffi on MRI. Calling ruby code from C by ffi-callbacks hangs, when the callback is called with no active call frame. This happens when the ffi-callback is called from an embedded ruby process or when the C code is invoked by fiddel or by a C-extension. Since 3 options could be used to verify the "no-call-frame" situation, I would choose the one that is the most easy to write and to integrate.
Fiddle can use an arbitrary function from the libtest library which is already there and no separate compiler runs are required. This is why I would choose fiddle.

Okay. I've got a question. The test suite runs in a single process right? The problem I'm solving is a deadlock, so in case of a failed test the suite would deadlock. What options to recover are there, if not exec()ing a separate process?

Maybe by the timeout library like this:
  require "timeout"
  Timeout.timeout(5) do
    deadlock
  end

or if it doesn't work due to the GVL:
  it "shouldn't deadlock" do
    if ENV["deadlocktest"]
      deadlock
    else
      # Run the test within its own process to not block the main thread
      pid = spawn({"deadlocktest"=>"1"}, "rspec #{__FILE__}:#{__LINE__}")
      begin
        Timeout.timeout(5){ Process.wait(pid) }
      rescue Timeout::Error
        Process.kill(9, pid)
        raise
      end
    end
  end

I updated the spawn call to the Array form of the command to avoid spawning a subshell.

@larskanis I'm having the problem that the C code doesn't load the correct gem when it does require 'ffi'. Is GEM_HOME/_PATH not correctly set during rake test?


Connection to Docker host with TLS enabled

Hello,
Actually I use docker-php lib in a Docker project and I have a problem with TLS connection. Error message is Connection refused (code 111).

And there is the code http://pastebin.com/UNkpynyS (I followed the doc http://docker-php.readthedocs.org/en/latest/basic/)
It works fine without TLS and I can do API calls.
Does anyone ever encountered this problem ?
Thank you in advance
Regards,
S. Bobylev

@meons Which OS, PHP and openssl version?

Ubuntu 14.04.2 LTS
Docker client 1.4.1 / Docker API 1.16
PHP 5.5.9-1ubuntu4.5
OpenSSL 1.0.1f

So am I the only one with this problem ?

@meons I’m on OS X and creating a comb.pem fixed the issue (http://docker-php.readthedocs.org/en/latest/basic/).
Anyone else on Ubuntu having this issue?

The error happens before tls is initialized, the bug must come from your host / port you set for the remote docker api or from something blocking the access (firewall, ...)

Any new of this ? closing the issue for the moment don't hesitate to reopen it if you stille have this behavior.

Sorry but I don't work anymore on this project so I dont' have the infrastructure for test. Anyway thanks for your answers =)


trezor-suite: 23.12.3 -> 24.1.2

Automatic update generated by nixpkgs-update tools. This update was made based on information from https://repology.org/project/trezor-suite/versions.
meta.description for trezor-suite is: Trezor Suite - Desktop App for managing crypto
meta.homepage for trezor-suite is: https://suite.trezor.io
meta.changelog for trezor-suite is: https://github.com/trezor/trezor-suite/releases/tag/v24.1.2
Updates performed

Version update

To inspect upstream changes

Release on GitHub

Compare changes on GitHub

Impact
Checks done

built on NixOS
The tests defined in passthru.tests, if any, passed
found 24.1.2 with grep in /nix/store/86br6bcjmg628apg54qcaikh3px3flgc-trezor-suite-24.1.2
found 24.1.2 in filename of file in /nix/store/86br6bcjmg628apg54qcaikh3px3flgc-trezor-suite-24.1.2

Rebuild report (if merged into master) (click to expand)

1 total rebuild path(s)

1 package rebuild(s)

First fifty rebuilds by attrpath
trezor-suite

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/86br6bcjmg628apg54qcaikh3px3flgc-trezor-suite-24.1.2 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A trezor-suite https://github.com/r-ryantm/nixpkgs/archive/c8a017f053b9de23ec8d5179f736601202dfdf40.tar.gz

Or:
nix build github:r-ryantm/nixpkgs/c8a017f053b9de23ec8d5179f736601202dfdf40#trezor-suite

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/86br6bcjmg628apg54qcaikh3px3flgc-trezor-suite-24.1.2
ls -la /nix/store/86br6bcjmg628apg54qcaikh3px3flgc-trezor-suite-24.1.2/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
Result of nixpkgs-review run on x86_64-linux 1

1 package built:

trezor-suite

Maintainer pings
cc @prusnak for testing.

Superseded by https://github.com/NixOS/nixpkgs/pull/283219


Is there a way to enable this as a weather entity?

Hello. I'm trying to create a weather entity from my Ecowitt sensors that can be consumed by the custom weather card. I've searched for an answer, but I'm clearly missing a concept or something. Can anyone point me in the right direction? Thx.

Try this one  works well for me

I'm actually using the same one.  It's super good.


Annotate instrument information on image.

This needs https://github.com/qbicsoftware/data-model-lib/pull/52/ to be merged.

Requires https://github.com/qbicsoftware/parent-poms/pull/61

The DTO returns null instead of empty strings whenever fields are not set in the address https://github.com/qbicsoftware/data-model-lib/issues/55

@luiskuhn @wow-such-code Is this still needed? if not, feel free to close this PR


feat(File): support file callback

https://github.com/leancloud/uluru-platform/issues/3201

Current coverage is 65.83% (diff: 84.61%)

Merging #442 into master will increase coverage by 0.07%

@@             master       #442   diff @@
==========================================
  Files            32         32
  Lines          2672       2678     +6
  Methods           0          0
  Messages          0          0
  Branches          0          0
==========================================
+ Hits           1757       1763     +6
  Misses          915        915
  Partials          0          0

Powered by Codecov. Last update ece8171...f89fbf7


!search f:pd rarity!mythic fails ungraciously

Well, no it doesn't. Another manifestation of #1022 possibly.

It does on prod. Reopening.

This is the problem. Why on prod not dev I don't know.
    Jul 15 16:00:46 katelyngigante bash[3114]: Searching for f:pd rarity!mythic
    Jul 15 16:00:46 katelyngigante bash[3114]: Caught exception processing command `!search f:pd rarity!mythic`
    Jul 15 16:00:46 katelyngigante bash[3114]: Failed to execute `
    Jul 15 16:00:46 katelyngigante bash[3114]:         SELECT
    Jul 15 16:00:46 katelyngigante bash[3114]:             `u`.`id`, `u`.`layout`,
    Jul 15 16:00:46 katelyngigante bash[3114]:             GROUP_CONCAT(CASE WHEN `u`.position = 1 THEN `u`.`position` ELSE '' END, '') AS `position`, GROUP_CONCAT(CASE WHEN `u`.position = 1
    Jul 15 16:00:46 katelyngigante bash[3114]: -----
    Jul 15 16:00:46 katelyngigante bash[3114]: ') AS `text`, GROUP_CONCAT(CASE WHEN `u`.position = 1 THEN `u`.`card_id` ELSE '' END, '') AS `card_id`, GROUP_CONCAT(CASE WHEN `u`.position = 1
    Jul 15 16:00:46 katelyngigante bash[3114]:         CASE
    Jul 15 16:00:46 katelyngigante bash[3114]:         WHEN layout = 'split' THEN
    Jul 15 16:00:46 katelyngigante bash[3114]:             SUM(`u`.cmc)
    Jul 15 16:00:46 katelyngigante bash[3114]:         ELSE
    Jul 15 16:00:46 katelyngigante bash[3114]:             SUM(CASE WHEN `u`.position = 1 THEN `u`.cmc ELSE 0 END)
    Jul 15 16:00:46 katelyngigante bash[3114]:         END
    Jul 15 16:00:46 katelyngigante bash[3114]:      AS cmc,
    Jul 15 16:00:46 katelyngigante bash[3114]:         CASE
    Jul 15 16:00:46 katelyngigante bash[3114]:         WHEN layout = 'double-faced' OR layout = 'flip' THEN
    Jul 15 16:00:46 katelyngigante bash[3114]:             GROUP_CONCAT(CASE WHEN `u`.position = 1 THEN name_ascii ELSE '' END, '')
    Jul 15 16:00:46 katelyngigante bash[3114]:         WHEN layout = 'meld' THEN
    Jul 15 16:00:46 katelyngigante bash[3114]:             GROUP_CONCAT(CASE WHEN `u`.position = 1 OR `u`.position = 2 THEN name_ascii ELSE '' END, '')
    Jul 15 16:00:46 katelyngigante bash[3114]:         ELSE
    Jul 15 16:00:46 katelyngigante bash[3114]:             GROUP_CONCAT(name_ascii, ' // ' )
    Jul 15 16:00:46 katelyngigante bash[3114]:         END
    Jul 15 16:00:46 katelyngigante bash[3114]:      AS name_ascii, GROUP_CONCAT(`u`.`mana_cost`, '|') AS `mana_cost`, GROUP_CONCAT(CASE WHEN `u`.position = 1 THEN `u`.`toughness` ELSE '' END
    Jul 15 16:00:46 katelyngigante bash[3114]:         CASE
    Jul 15 16:00:46 katelyngigante bash[3114]:         WHEN layout = 'double-faced' OR layout = 'flip' THEN
    Jul 15 16:00:46 katelyngigante bash[3114]:             GROUP_CONCAT(CASE WHEN `u`.position = 1 THEN face_name ELSE '' END, '')
    Jul 15 16:00:46 katelyngigante bash[3114]:         WHEN layout = 'meld' THEN
    Jul 15 16:00:46 katelyngigante bash[3114]:             GROUP_CONCAT(CASE WHEN `u`.position = 1 OR `u`.position = 2 THEN face_name ELSE '' END, '')
    Jul 15 16:00:46 katelyngigante bash[3114]:         ELSE
    Jul 15 16:00:46 katelyngigante bash[3114]:             GROUP_CONCAT(face_name, ' // ' )
    Jul 15 16:00:46 katelyngigante bash[3114]:         END
    Jul 15 16:00:46 katelyngigante bash[3114]:      AS name,
    Jul 15 16:00:46 katelyngigante bash[3114]:             GROUP_CONCAT(face_name, '|') AS names,
    Jul 15 16:00:46 katelyngigante bash[3114]:             legalities,
    Jul 15 16:00:46 katelyngigante bash[3114]:             pd_legal,
    Jul 15 16:00:46 katelyngigante bash[3114]:             bug_desc,
    Jul 15 16:00:46 katelyngigante bash[3114]:             bug_class,
    Jul 15 16:00:46 katelyngigante bash[3114]:             bug_last_confirmed
    Jul 15 16:00:46 katelyngigante bash[3114]:             FROM
    Jul 15 16:00:46 katelyngigante bash[3114]:                 (SELECT c.id, c.layout, f.position, f.image_name, f.text, f.card_id, f.hand, f.cmc, f.name_ascii, f.mana_cost, f.toughness, f.l
    Jul 15 16:00:46 katelyngigante bash[3114]:                 SUM(CASE WHEN cl.format_id = 36 THEN 1 ELSE 0 END) > 0 AS pd_legal,
    Jul 15 16:00:46 katelyngigante bash[3114]:                 GROUP_CONCAT(fo.name || ':' || cl.legality) AS legalities,
    Jul 15 16:00:46 katelyngigante bash[3114]:                 bugs.description AS bug_desc,
    Jul 15 16:00:46 katelyngigante bash[3114]:                 bugs.classification AS bug_class,
    Jul 15 16:00:46 katelyngigante bash[3114]:                 bugs.last_confirmed AS bug_last_confirmed
    Jul 15 16:00:46 katelyngigante bash[3114]:                 FROM card AS c
    Jul 15 16:00:46 katelyngigante bash[3114]:                 INNER JOIN face AS f ON c.id = f.card_id
    Jul 15 16:00:46 katelyngigante bash[3114]:                 LEFT OUTER JOIN card_legality AS cl ON c.id = cl.card_id
    Jul 15 16:00:46 katelyngigante bash[3114]:                 LEFT OUTER JOIN format AS fo ON cl.format_id = fo.id
    Jul 15 16:00:46 katelyngigante bash[3114]:                 LEFT OUTER JOIN card_bugs AS bugs ON c.id = bugs.card_id
    Jul 15 16:00:46 katelyngigante bash[3114]:                 GROUP BY f.id
    Jul 15 16:00:46 katelyngigante bash[3114]:                 ORDER BY f.card_id, f.position)
    Jul 15 16:00:46 katelyngigante bash[3114]:             AS u
    Jul 15 16:00:46 katelyngigante bash[3114]:             WHERE u.id IN (SELECT c.id FROM card AS c INNER JOIN face AS f ON c.id = f.card_id WHERE (c.id IN (SELECT card_id FROM card_legalit
    Jul 15 16:00:46 katelyngigante bash[3114]:             GROUP BY u.id
    Jul 15 16:00:46 katelyngigante bash[3114]:
    Jul 15 16:00:46 katelyngigante bash[3114]:         ORDER BY pd_legal DESC, name
    Jul 15 16:00:46 katelyngigante bash[3114]:     ` because of `SQLError: no such column: FALSE`

This SQL actually runs fine (returns empty set) on both dev and prod commandline MySQL.

Ah, this is a SQLite versus MySQL thing. Prod uses sqlite for cards db for the bot to get fuzzy.

5abfa01 uses "1 <> 1" instead of "FALSE" for compatibility with sqlite.
The question remains whether we should be supporting "exclusive rarity" in some form but as it's come up once in a year I'm not too worried about that.


Can still see users and groups from AD after I disable access control

Rancher versions: 2.0 master 4/2
Steps to Reproduce:

Authenticate Active Directory
Click on Allow members of Clusters, Projects and click on group drop-down
Enter user name that exist in AD
Disable Access Control
Go to Add Cluster and go to Members
Click on Group drop-down and type in AD user (that you didn't add) into members textbox

Results:  Groups and Users are showing up for AD.

just to chime in on this, when you disable AD auth and add the same AD back, preexisting members are still listed under site access.

If you switch to a different AD afterwards, the same number of users are listed, however they are blank

@adingilloRancher 's issue on the auth provider page will be covered by resetting the auth provider on disable
The originally reported issue is because we do not reset/unset the current user's token when they disable an auth provider, so, they still have a token for the disabled provider. We need to add a check to the framework that searches principals to not search if the provider is disabled


improve tests of json decoder

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

0 of 1 (0.0%)  changed or added relevant line in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.7%) to 71.88%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

internal/jsonutils/decode.go
0
1
0.0%

Totals

Change from base Build<PHONE_NUMBER>:
0.7%

Covered Lines:
5685

Relevant Lines:
7909

💛  - Coveralls