Implement replying to irc messages in private

Hi!
I'm writing an irc game that requires sharing some state with the user in private.
This probably can't be merged as is (unless you're ok with being slightly broken on master) since it'll crash slack. I wanted to see if you had feedback before I go work out how to make this work for the slack adaptor.

Hi @richo!
Thanks for the PR :smile:. I don't see any problem with merging this without slack support as long as the AdapterMsg::Private is handled in the slack loop (can be a noop, we just don't want it to reach the _ case). We can just open an issue for adding PM support to slack.
For the feature, I am wondering whether the PrivateMessage type is really needed. It seems like all of the data you need is already on OutgoingMessage, and the reply_private method on IncomingMessage could just stuff it into the AdapterMsg::Private variant. What do you think?

Hello!
Ok I updated the PR. I nopped out pm's in slack (with a log message explaining) and unified the AdapterMessage types around OutgoingMessage.
I also implemented the Shutdown type and removed the catchall branch, so that breaking things as I tried to will refuse to compile in future :)

@richo this looks great! Thanks for removing the catchall - :heart: fail early. I'll add slack support for this and get a release up on crates.io.


C++ UI Libraries

https://philippegroarke.com/posts/2018/c++_ui_solutions/

https://github.com/MyGUI/mygui
https://github.com/fffaraz/awesome-cpp/issues/609


Config editor

it would be great to add the config editor in the form of entering data into the fields instead of the regular text editor, as well as automatically adding the default values to the config from the plug-in being installed.

The other homebridge ui plugins do this, in fact the original project this was forked from, homebridge-config-ui does this. However, I think they all fail at actually making it easier manage the config and are the source of many issues raised by the plugin users.
Plugins don't define their default config an any consistent way so knowing what the default config would be is pretty much impossible. If the upstream homebridge project got on board with a official definition of how to define required/optional config parameters this is certainly something I would like to implement.


Roll Flutter Engine from b73367a30e9b to 143d167fb8b3 (3 revisions)

https://github.com/flutter/engine/compare/b73367a30e9b...143d167fb8b3
2024-07-31<EMAIL_ADDRESS>Roll Skia from 26eb1876de72 to cb6ea5bd807d (2 revisions) (flutter/engine#54241)
2024-07-31<EMAIL_ADDRESS>Roll Skia from b6036baeebbd to 26eb1876de72 (1 revision) (flutter/engine#54239)
2024-07-31<EMAIL_ADDRESS>[iOS][macOS] Eliminate use of bitcode_strip (flutter/engine#54240)
If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/flutter-engine-flutter-autoroll
Please CC jacksongardner@google.com,rmistry<EMAIL_ADDRESS>on the revert to ensure that a human
is aware of the problem.
To file a bug in Flutter: https://github.com/flutter/flutter/issues/new/choose
To report a problem with the AutoRoller itself, please file a bug:
https://issues.skia.org/issues/new?component=1389291&template=1850622
Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md

Commit queue failed; closing this roll.


Make file sharing responsive by adding style changes

What
Participant pane overlays on top of message thread to make sure the message thread is responsive

Why
https://skype.visualstudio.com/SPOOL/_workitems/edit/2828331
How Tested

Process & policy checklist

[ ] I have updated the project documentation to reflect my changes if necessary.
[ ] I have read the CONTRIBUTING documentation.

Is this a breaking change?

[ ] This change causes current functionality to break.

Participant pane has not been designed for mobile view - consider instead for all mobile chat UI tests simply hiding the participant pane

These look off.
Scrollbar and panes positioning


Pretrained distilled datasets

Hi, RaT-BPTT is a great work and I enjoyed reading it! I'm wondering if it is possible to share pretrained distilled datasets from your method here?
Thank you!

Thank you for checking out our code! Unfortunately, it has been some time since we completed the project, and our cluster has an auto-clearing policy for unused files older than six months. As a result, most of the distilled datasets have been removed. However, I do have two datasets for ImageNet available at the following link: https://drive.google.com/drive/folders/1pLY1aH9_kS8dCn6BUffFs049NBsoZLHQ?usp=sharing


Ixia operator upgrade

Ixia operator upgrade

can you update the go mod too? https://github.com/openconfig/kne/blob/76748ee46d48fe955b7d654ab772bae22c2bae10/go.mod#L16

Updated go mod and sum

/gcbrun

Can you sign the CLA? Then we can merge this, thanks

done in https://github.com/openconfig/kne/pull/402


[@remix-run/remix-eslint-config] Include jest-testing-library.js

Right now jest-testing-library.js isn't included when publishing to NPM while this should be the case.
This PR fixes it by adding it to the files array in package.json

CC/ @chaance

I just rebased on latest main!


Change relation between collection-level metadata and STAC #4

Related Issue(s): #4 #6
Proposed Changes:

Collections don't need to be STAC Collections (but it's recommended to be used for additional metadata)
Collections can be included in GeoJSON files, especially useful for FeatureCollections
Collections can be linked to from the GeoJSON files, especially useful for individual Features to avoid de-duplication
Improved examples from real-world data

Note: I need to merge this rather soon as otherwise I'm blocked with other work, so I may merge and release this as part of 0.2.0 and implement it in tooling, but this can always be discussed again in the future!
PR Checklist:

[ ] This PR has no breaking changes.
[x] I have added my changes to the CHANGELOG
or a CHANGELOG entry is not required.

Would you consider putting basic universal properties of a dataset/collection like ID, name, description, license not in a separate special FIBOA-specific object called "fiboa" but as normal properties (like they are for GeoJSON features)?
One reason is I am thinking we should try not to reinvent the wheel, eg align to existing dataset publishing standards that are well adopted in related communities that have thought about the domain much more, for example the Dublin Core covers I think all of the terms in the example (license, publisher, description):
https://www.dublincore.org/specifications/dublin-core/dcmi-terms/
It makes FIBOA less 'demanding' if it limits spreading the word "FIBOA" over everything that isn't specific to FIBOA (eg "fiboa_version" is more reasonable than "fiboa->license" when you can just call it "license") and name it as an optional field in FIBOA that happens to be the same as the Dublin core term. Then I can make a single object that is compliant with JSON-LD, fiboa, GeoJSON and DCMI all in the same file/API endpoint.
The other reason is to avoid wherever possible forcing people to create separate fiboa-specific implementations of data distributions they already provide. My target really one of: a provider already has an API that provides FeatureCollections (eg we have one, Digifarm has one, planet has one, anyone who has implemented OGC Features API compliant API has one), or datasets that they already export. So, my assessment will be:
what is the minimal I have to do to make what I already provide FIBOA compliant, and how proprietary is that? That is why it's different from STAC: here we're not starting from a green field, we have existing standards and existing implementations it would be advantageous to align to, because it gives us adoption very quickly. I would like to be able to make the native API and downloads we already provide to be FIBOA compliant, rather than create special FIBOA variants, which is what happens if you force me to repeat properties inside a special "fiboa" container. If we need to go down that route of separating out the fiboa domain, I would rather do it either namespaces (so make fiboa core its own namespace)

Would you consider putting basic universal properties of a dataset/collection like ID, name, description, license not in a separate special FIBOA-specific object called "fiboa" but as normal properties (like they are for GeoJSON features)?

I think it's not a good idea as then it's not clear (especially for individual features) which properties are collection-level and which are not. It would require a definitive set of fields in the files, which I think we don't want to aim for. For example, OGC API - Features adds additional properties to the FeatureCollection, which are not collection level metadata (numberMatched, numberReqturned, pagination links). Just moving around a single object is much simpler when migrating between file formats for example. Anyway, you can also link to an external file in an OGC API compliant way and then you don't need to embed them in a fiboa-specific object.

One reason is I am thinking we should try not to reinvent the wheel, eg align to existing dataset publishing standards that are well adopted in related communities that have thought about the domain much more, for example the Dublin Core covers I think all of the terms in the example (license, publisher, description): https://www.dublincore.org/specifications/dublin-core/dcmi-terms/

I think we should recommend one standard for metadata. I'm happy to discuss which that might be, whether it's STAC, Dublin Core, OGC APIs, DCAT or whatever. I've paved the way allow this by just requiring the fiboa_version and fiboa_extensions fields. Everything else is right now open to implementors. But as we should guide users to something for now, I recommended STAC. But if discussions across fiboa participants lead to something else, happy to switch.

It makes FIBOA less 'demanding' if it limits spreading the word "FIBOA" over everything that isn't specific to FIBOA (eg "fiboa_version" is more reasonable than "fiboa->license" when you can just call it "license") and name it as an optional field in FIBOA that happens to be the same as the Dublin core term. Then I can make a single object that is compliant with JSON-LD, fiboa, GeoJSON and DCMI all in the same file/API endpoint.

Isn't that already possible with this proposal as long as you can link to an external collection that includes the two required fiboa fields? Look at the individual-features example. There it's just license...

The other reason is to avoid wherever possible forcing people to create separate fiboa-specific implementations of data distributions they already provide. My target really one of: a provider already has an API that provides FeatureCollections (eg we have one, Digifarm has one, planet has one, anyone who has implemented OGC Features API compliant API has one), or datasets that they already export. So, my assessment will be: what is the minimal I have to do to make what I already provide FIBOA compliant, and how proprietary is that?

I'd need to look at the specific APIs above, but this proposal is OGC API - Features compliant AFAIK. Any pointers where I can find documentation about the other APIs?

That is why it's different from STAC: here we're not starting from a green field, we have existing standards and existing implementations it would be advantageous to align to, because it gives us adoption very quickly.

STAC didn't start from a green field either ;-)

I would like to be able to make the native API and downloads we already provide to be FIBOA compliant, rather than create special FIBOA variants, which is what happens if you force me to repeat properties inside a special "fiboa" container.

Is that feasible at all if the (non-Collection) metadata is not already fully aligned? Right now you'd need to align the features itself and add the two fiboa_* properties or a link to something includes these two fields.


An issue with DetectionCollateFN(): gives an error on images with varying number of bboxes in the same batch

🐛 Describe the bug
In your tutorial on how to connect custom dataset you use a generated toy dataset where each image has the same number of bounding boxes and it works just fine. However, when I try to use my custom Dataset constructed according the following tutorial but with images having different amount of boxes, it gives the following error:
RuntimeError: Caught RuntimeError in DataLoader worker process 0.
Original Traceback (most recent call last):
  File "/home/angelina/cargo_xray/super_gradients/supergrad/lib/python3.10/site-packages/torch/utils/data/_utils/worker.py", line 302, in _worker_loop
    data = fetcher.fetch(index)
  File "/home/angelina/cargo_xray/super_gradients/supergrad/lib/python3.10/site-packages/torch/utils/data/_utils/fetch.py", line 61, in fetch
    return self.collate_fn(data)
  File "/home/angelina/cargo_xray/super_gradients/supergrad/lib/python3.10/site-packages/super_gradients/training/utils/detection_utils.py", line 667, in __call__
    batch = default_collate(data)
  File "/home/angelina/cargo_xray/super_gradients/supergrad/lib/python3.10/site-packages/torch/utils/data/_utils/collate.py", line 265, in default_collate
    return collate(batch, collate_fn_map=default_collate_fn_map)
  File "/home/angelina/cargo_xray/super_gradients/supergrad/lib/python3.10/site-packages/torch/utils/data/_utils/collate.py", line 143, in collate
    return [collate(samples, collate_fn_map=collate_fn_map) for samples in transposed]  # Backwards compatibility.
  File "/home/angelina/cargo_xray/super_gradients/supergrad/lib/python3.10/site-packages/torch/utils/data/_utils/collate.py", line 143, in <listcomp>
    return [collate(samples, collate_fn_map=collate_fn_map) for samples in transposed]  # Backwards compatibility.
  File "/home/angelina/cargo_xray/super_gradients/supergrad/lib/python3.10/site-packages/torch/utils/data/_utils/collate.py", line 120, in collate
    return collate_fn_map[elem_type](batch, collate_fn_map=collate_fn_map)
  File "/home/angelina/cargo_xray/super_gradients/supergrad/lib/python3.10/site-packages/torch/utils/data/_utils/collate.py", line 172, in collate_numpy_array_fn
    return collate([torch.as_tensor(b) for b in batch], collate_fn_map=collate_fn_map)
  File "/home/angelina/cargo_xray/super_gradients/supergrad/lib/python3.10/site-packages/torch/utils/data/_utils/collate.py", line 120, in collate
    return collate_fn_map[elem_type](batch, collate_fn_map=collate_fn_map)
  File "/home/angelina/cargo_xray/super_gradients/supergrad/lib/python3.10/site-packages/torch/utils/data/_utils/collate.py", line 163, in collate_tensor_fn
    return torch.stack(batch, 0, out=out)
RuntimeError: stack expects each tensor to be equal size, but got [1, 5] at entry 0 and [2, 5] at entry 2

I tried to randomly change the number of boxes (between 1 and 5 instead of fixed 5) in the tutorial as well, and this error is also reproducible there.
Here's the code for my custom data loader class:
import torch
from torch.utils.data import Dataset
from torchvision import transforms, utils

import json
import os
from PIL import Image
import numpy as np

class MyCustomDataset(Dataset):

    def __init__(self, data_folder):

        self.image_folder = os.path.join(data_folder, "images")
        self.annot_folder = os.path.join(data_folder, "labels")

        # Read data files
        self.images = os.listdir(self.image_folder)
        # Read annotation files
        self.annotations = os.listdir(self.annot_folder)

    def __len__(self):
        return min(len(self.images), len(self.annotations))

    def __getitem__(self, i):

        # Read image and label
        image_filename = self.images[i]
        annot_filename = image_filename.split('.tif')[0] + '.txt'

        if annot_filename in self.annotations:
            image_path = os.path.join(self.image_folder, image_filename)

            image = cv2.imread(image_path, cv2.IMREAD_GRAYSCALE)
            image = cv2.cvtColor(image, cv2.COLOR_GRAY2BGR)
            image = cv2.resize(image, (640, 640))
            image_tensor = torch.tensor(np.array(image, dtype=np.float32)).permute(2, 0, 1).float()

            labels_path = os.path.join(self.annot_folder, annot_filename)
            labels = np.loadtxt(labels_path, delimiter=' ')

            if labels.ndim == 1:
                labels = np.reshape(labels, (1, -1))

            return image_tensor, labels

And how I use it further for creating a DataLoader object:
from torch.utils.data import Dataset, DataLoader
from super_gradients.training.utils.detection_utils import DetectionCollateFN

train_dataset = MyCustomDataset(my_train_dir)
train_dataloader = DataLoader(train_dataset, batch_size=4, shuffle=True, num_workers=2, collate_fn=DetectionCollateFN())

Versions
Collecting environment information...
PyTorch version: 1.13.1+cu117
Is debug build: False
CUDA used to build PyTorch: 11.7
ROCM used to build PyTorch: N/A
OS: Ubuntu 20.04.5 LTS (x86_64)
GCC version: (Ubuntu 9.4.0-1ubuntu1~20.04.1) 9.4.0
Clang version: Could not collect
CMake version: Could not collect
Libc version: glibc-2.31
Python version: 3.10.8 (main, Nov 24 2022, 14:13:03) [GCC 11.2.0] (64-bit runtime)
Python platform: Linux-5.15.0-56-generic-x86_64-with-glibc2.31
Is CUDA available: True
CUDA runtime version: 11.6.124
CUDA_MODULE_LOADING set to: LAZY
GPU models and configuration: GPU 0: NVIDIA GeForce RTX 3090
Nvidia driver version: 510.108.03
cuDNN version: Could not collect
HIP runtime version: N/A
MIOpen runtime version: N/A
Is XNNPACK available: True
CPU:
Architecture:                    x86_64
CPU op-mode(s):                  32-bit, 64-bit
Byte Order:                      Little Endian
Address sizes:                   43 bits physical, 48 bits virtual
CPU(s):                          16
On-line CPU(s) list:             0-15
Thread(s) per core:              2
Core(s) per socket:              8
Socket(s):                       1
NUMA node(s):                    1
Vendor ID:                       AuthenticAMD
CPU family:                      23
Model:                           113
Model name:                      AMD Ryzen 7 3700X 8-Core Processor
Stepping:                        0
Frequency boost:                 enabled
CPU MHz:                         2200.000
CPU max MHz:                     4426,1709
CPU min MHz:                     2200,0000
BogoMIPS:                        7186.46
Virtualization:                  AMD-V
L1d cache:                       256 KiB
L1i cache:                       256 KiB
L2 cache:                        4 MiB
L3 cache:                        32 MiB
NUMA node0 CPU(s):               0-15
Vulnerability Itlb multihit:     Not affected
Vulnerability L1tf:              Not affected
Vulnerability Mds:               Not affected
Vulnerability Meltdown:          Not affected
Vulnerability Mmio stale data:   Not affected
Vulnerability Retbleed:          Mitigation; untrained return thunk; SMT enabled with STIBP protection
Vulnerability Spec store bypass: Mitigation; Speculative Store Bypass disabled via prctl and seccomp
Vulnerability Spectre v1:        Mitigation; usercopy/swapgs barriers and __user pointer sanitization
Vulnerability Spectre v2:        Mitigation; Retpolines, IBPB conditional, STIBP always-on, RSB filling, PBRSB-eIBRS Not affected
Vulnerability Srbds:             Not affected
Vulnerability Tsx async abort:   Not affected
Flags:                           fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm constant_tsc rep_good nopl nonstop_tsc cpuid extd_apicid aperfmperf rapl pni pclmulqdq monitor ssse3 fma cx16 sse4_1 sse4_2 movbe popcnt aes xsave avx f16c rdrand lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw ibs skinit wdt tce topoext perfctr_core perfctr_nb bpext perfctr_llc mwaitx cpb cat_l3 cdp_l3 hw_pstate ssbd mba ibpb stibp vmmcall fsgsbase bmi1 avx2 smep bmi2 cqm rdt_a rdseed adx smap clflushopt clwb sha_ni xsaveopt xsavec xgetbv1 xsaves cqm_llc cqm_occup_llc cqm_mbm_total cqm_mbm_local clzero irperf xsaveerptr rdpru wbnoinvd arat npt lbrv svm_lock nrip_save tsc_scale vmcb_clean flushbyasid decodeassists pausefilter pfthreshold avic v_vmsave_vmload vgif v_spec_ctrl umip rdpid overflow_recov succor smca sme sev sev_es
Versions of relevant libraries:
[pip3] numpy==1.23.0
[pip3] pytorch-quantization==2.1.2
[pip3] torch==1.13.1
[pip3] torchmetrics==0.8.0
[pip3] torchvision==0.14.1
[conda] blas                      1.0                         mkl
[conda] cudatoolkit               10.1.243             h6bb024c_0
[conda] ffmpeg                    4.3                  hf484d3e_0    pytorch
[conda] mkl                       2021.4.0           h06a4308_640
[conda] mkl-service               2.4.0           py310h7f8727e_0
[conda] mkl_fft                   1.3.1           py310hd6ae3a3_0
[conda] mkl_random                1.2.2           py310h00e6091_0
[conda] numpy                     1.24.1                   pypi_0    pypi
[conda] numpy-base                1.23.5          py310h8e6c178_0
[conda] pytorch                   1.13.1             py3.10_cpu_0    pytorch
[conda] pytorch-mutex             1.0                         cpu    pytorch
[conda] torchvision               0.14.1                py310_cpu    pytorch

Hi @angelinager ,
We handle it in our transforms by adding a padding step. You can try this piece of code, which takes the targets of one image (of varying first dim) and forces it to be of shape (max_targets, 5). Just make sure to take max_targets big enough to include all your targets.
def pad_targets(targets: np.ndarray, max_targets: int) -> np.ndarray:
    padded_targets = np.zeros((max_targets, targets.shape[-1]))
    padded_targets[range(len(targets))[: max_targets]] = targets[: max_targets]
    padded_targets = np.ascontiguousarray(padded_targets, dtype=np.float32)
    return padded_targets

Hi @Louis-Dupont,
Adding the padding step did the job, thank you!


typo: Double word "an"

@nschonni : Thanks for your contribution! The author, @jmprieur, has been notified to review your proposed change.


agent: write OCI spec to config.json in bundle path

In order to comply with the OCI specification, the spec must be written to a file named 'config.json' located in the bundle directory.
Signed-off-by: Edward Guzman<EMAIL_ADDRESS>

Hi @eguzman3 Thanks for the contribution :-)
Did you have a specific use case or test that found or showed this up? That might help give us some context.
I'm wondering if this fix is best done in the agent or the runtime - but, others have a better view of that than I - so /cc @jodh-intel @bergwolf @WeiZhang555 for input.

@grahamwhaley @bergwolf
This issue was discovered when trying to use an existing OCI hook within the guest. This hook reads the bundle path from the HookState passed over stdin, then attempts to open /path/to/bundle/config.json which doesn't exist because the bundle path is wrong and because config.json is never written. The reason the cwd needs to be changed is that CreateLibcontainerConfig sets the bundle path to cwd (https://github.com/kata-containers/agent/blob/5765593309eab087598c093ff226500af158df9c/vendor/github.com/opencontainers/runc/libcontainer/specconv/spec_linux.go#L157) which in this case is / so this is what the OCI hooks end up getting instead of /run/kata-containers/shared/containers/<hash>/

@eguzman3 I think there are a few things to clarify:

The bundle is never passed to the guest. We only send the rootfs, which is a sub-directory in the bundle.
The config.json is already in the bundle when that is passed to kata from either containerd or crio. Otherwise kata-runtime cannot read the OCI spec in the first place.
If you need the hooks, they are in the OCI spec passed in as create container arguments.

Another thing to consider is do we really want to run the hooks inside the container? The hooks are mostly used by docker to setup network configuration for a container and in that sense they are only useful when run on the host side. What use case do you have that would require running hooks in side the guest?

There is no reason to reproduce the whole OCI config.json thing on the guest OS and therefore the agent. The OCI spec only needs to be passed as a structure, and it's already done, which allows the agent to provide libcontainer with the appropriate data.
The hook issue that you're mentioning is separate from the config.json need, and is actually not needed since we don't want to run the hook from inside the guest as this makes no sense. The caller (Docker, CRI-O, or something else) will expect the hook to be executed on the host, and that's why this is handled directly by the kata-runtime CLI, and that's also the reason why the Hooks structure is set to nil by kata_agent.go before to be passed to the agent.

-1

@sboeuf  I think @eguzman3 has a use case that makes it necessary for running hooks inside the guest.
@eguzman3 Can you please describe your use case so that others can get a broader view of what you are trying to do.

@sboeuf @amshinde
Yes the use case requires that the hooks be run inside the guest. Specifically we are trying to leverage this existing OCI hook: https://github.com/NVIDIA/nvidia-container-runtime

@eguzman3 what is the hook doing exactly ? I'm trying to understand the real need for this.
Also, one way to workaround this more properly would be to use a sidecar, instead of relying on the pre-start hooks which are complex to manage in case of Kata. And if we can avoid to make too many assumptions, that would be great.
Are you using k8s to orchestrate your containers ?

This hook configures GPU access for a container using libnvidia-container. This is intended to be used in conjunction with GPU passthrough which is why this hook needs to run inside the guest.

As mentioned in #347, the guest hooks will not be part of the Kata API, we want them to be part of the guest rootfs and auto-discovered by the agent.

@eguzman3 @flx42, ok now I see.
That works, but I have one comment regarding the configuration of such a thing. As this is very specific to the fact of running some custom binaries on the guest directly, could you add some configuration to our CLI configuration, so that we don't end up trying to run some custom hooks on the agent everytime.
Most of the time, those hooks won't exist, and there's no need for the agent to look for them. Also, having the path being specified from the configuration, and not hardcoded inside the agent would be a more proper approach.

Yes it would make sense to configure the path for guest rootfs hooks in the runtime configuration.toml and pass this to the agent as part of CreateSandbox request.

@sboeuf Can I get some clarification on the need for this configuration option? Is this a performance hit concern? Also would this runtime configuration option be disabled when the option is commented out?

@eguzman3 yes it's about keeping the default path as simple and efficient as possible. And by default the agent would not try to load any custom hook.

I think I can see why this might be required...
As specified in https://github.com/opencontainers/runtime-spec/blob/master/config.md#posix-platform-hooks,

The state of the container MUST be passed to hooks over stdin so that they may do work appropriate to the current state of the container.

But the state of the container must include:

bundle (string, REQUIRED) is the absolute path to the container's bundle directory. This is provided so that consumers can find the container's configuration and root filesystem on the host.

So the arbitrary hook binaries that need to be run inside the container must be passed the container state and must therefore have access to the bundle directory. And a bundle is "rootfs + config.json":

https://github.com/opencontainers/runtime-spec/blob/master/bundle.md

@jodh-intel thanks for looking into this. It's still not clear if this is needed from a libcontainer perspective though. I mean that libcontainer gets provided with the container status through a structure, and not through a CLI, so I don't know how far we need to stick to the OCI definition here.

Doing some research in libcontainer codebase, here's my understanding:
here is the code that gets called to handle OCI hook (case of pre-start, which is actually the one you're interested into).
If the list of Labels is empty, the function returning the bundle and the list of Annotations here will simply return an empty bundle string, and an empty list of Annotations.
So what I'm trying to say is that it's not a big deal from a libcontainer perspective, we won't get any error with that.
And then, it's simply up to your hook, not to use those fields. Is there any reason why the custom hook would need them ?

The config.json file has two fields we need:

The path to the rootfs (despite what the spec says, it's not always in the same directory tree as the config file).
Environment variables/labels from the container image. We use that to tweak the behavior of our prestart hook: https://github.com/nvidia/nvidia-container-runtime#environment-variables-oci-spec

@flx42

The path to the rootfs (despite what the spec says, it's not always in the same directory tree as the config file).

Why do you need the rootfs path here?
Also, just to mention, giving the rootfs path is orthogonal from creating config.json since the path can be provided simply through the lbcontainer Config structure.

Environment variables/labels from the container image or set by the user. We use that to tweak the behavior of our prestart hook: https://github.com/nvidia/nvidia-container-runtime#environment-variables-oci-spec

Environment variables should not be an issue since they will be passed from the initial config.json on the host side, and they'll be carried up to the agent to be applied by libcontainer.

@flx42 this is an interesting problem that we have here :)
Ok I think here could be a solution that would be a good tradeoff on how handle those customized OCI hooks:

First, you detect from the agent that some custom hooks are available.
Once detected, the agent will build the appropriate Hook structure, including the Env that he knows from the OCI Spec structure. This way, the hook will be started with the appropriate environment variables.
In order to provide the rootfs path, I suggest that you modify slightly the NVIDIA hook so that it would look for the rootfs path through the enviroment variables. By default, it would rely on the bundle path (I don't want to break your current behavior), but if the path is empty, it should check if it can find an envvar CONTAINER_ROOTFS. This new environment variable should be added by the agent when creating the hook from scratch, so that it will provide the right amount of knowledge to the hook.

WDYT?

@sboeuf We are flexible, we can definitely have some kind of glue layer that translates the environment variables to something else and then call into our nvidia-container-runtime-hook or even nvidia-container-cli. What you describe is closer to our LXC hook implementation than to a standard OCI hook:
https://github.com/lxc/lxc/blob/master/hooks/nvidia
Here we clearly needed a custom script since LXC does not follow the OCI runtime spec.
With that said, I'm not sure I understand why you don't want to provide support for standard OCI runtime hooks, what is the concern with this approach? We were hoping to leverage our existing OCI hook since we were missing only a small piece to make it happen.

@flx42

With that said, I'm not sure I understand why you don't want to provide support for standard OCI runtime hooks, what is the concern with this approach? We were hoping to leverage our existing OCI hook since we were missing only a small piece to make it happen.

The main concern that I have here is that we're trying to implement the agent as an implementation of the OCI specification, but that's not what the agent is.
Now that we've sorted out the need you have for your problem, it'd be nice to get more input from a few ppl on this topic.
/cc @bergwolf @amshinde @jodh-intel WDYT ?

Here is my take on this:
I am fine with writing the config.json inside the guest, that way OCI compliant hooks that need to be run inside the guest can be executed without any changes.
If we do things differently (lets say via environment variables), then an existing hook that is OCI compliant will need to be changed for running it inside the guest.
That said, we should  write the config.json inside the guest only if hooks need to be run.
We can provide this information to the agent, using a runtime configuration such as guest_hooks_path which will be empty by default. This configuration can then be passed to the agent as part of the CreateSandbox API. Only if this path is non-empty, will the agent create the config.json file and execute the hooks at the provided path.
@bergwolf @WeiZhang555 @sboeuf What do you think?

I agree with @sboeuf that kata-agent is not an OCI compatible implementation on its own.
@eguzman3 @flx42 Can you do it with a sidecar container? AFAIU, with OCI hooks, you need to add whatever is needed in the guest rootfs image. That means if a user wants to use nvidia-container-runtime-hook, they need to install a customized guest rootfs image rather than the one shipped by kata containers. OTOH, if you do it with a sidecar container, it runs on all existing kata guest rootfs images.
And you need to pay attention that whatever you put in the OCI hooks, they are executed on the host as well. Do you really need the SAME hooks to be run both on the host and in the guest?

Can you do it with a sidecar container?

Driver installation is possible with a container, but at the container runtime level, not really. And isn't that a Kubernetes construct? That won't work with Docker (or another OCI frontend).

That means if a user wants to use nvidia-container-runtime-hook, they need to install a customized guest rootfs image rather than the one shipped by kata containers. OTOH, if you do it with a sidecar container, it runs on all existing kata guest rootfs images.

Yes, we are fine with that, since the rootfs will also bake our user-space driver libraries, and precompiled objects for the device driver.

And you need to pay attention that whatever you put in the OCI hooks, they are executed on the host as well. Do you really need the SAME hooks to be run both on the host and in the guest?

We want to only execute OCI hooks on the "translated" OCI spec, by discovering them autoamtically. There is no way to inject hooks in the spec docker generates today.

Driver installation is possible with a container, but at the container runtime level, not really. And isn't that a Kubernetes construct? That won't work with Docker (or another OCI frontend).

I mean whatever initialization you do with current hooks, do it in a sidecar container, -- not running the same hooks there. And docker does support sidecars, it is just about constructing proper namespace configurations for different containers. Maybe it's too much complexity for your users though.

Yes, we are fine with that, since the rootfs will also bake our user-space driver libraries, and precompiled objects for the device driver.

In that case, how about having a builtin container inside the rootfs image? Then we can make kata containers create default sidecars when configured so. And such a design would solve the socat sidecar image issue @gnawux is trying to solve for k8s port forwarding.

We want to only execute OCI hooks on the "translated" OCI spec, by discovering them autoamtically. There is no way to inject hooks in the spec docker generates today.

Sorry, I kinda miss the whole picture here. If not docker, who will translate the OCI spec and how? Do you expect kata-runtime to do the translation and only put translated hooks in the spec when passing them to kata-agent? Please explain a bit more about the architecture you are expecting to work with.

I mean whatever initialization you do with current hooks, do it in a sidecar container

It's not possible, it would require changing our whole implementation. Our hook performs bind mounts from the runtime's namespace to the container. For instance it looks for libcuda.so.390.55 in the runtime's mount namespace and bind-mount it under the container's rootfs mount point.
With a sidecar container, I guess you would have to share a mount point between the two containers, and point the application container to the libraries/binaries in this directory.
But that's not all, we also need to bind-mount devices in /dev, that's not possible with a side-car container.

Maybe it's too much complexity for your users though.

I agree. And the implementation is possible but would be hacky.

In that case, how about having a builtin container inside the rootfs image?

This would be overkill for our use case, and would not solve the problem as well as what we have today, IMO.

Sorry, I kinda miss the whole picture here. If not docker, who will translate the OCI spec and how?

Docker (or something else) gives you the OCI spec, and my understanding is that once in the guest you amend this spec before passing it to libcontainer. @sboeuf mentioned that hooks from the original OCI Spec are removed: https://github.com/kata-containers/agent/pull/346#issuecomment-418438160
Here, we want to add hooks from the guest rootfs, a possible way of doing that is presented in https://github.com/kata-containers/agent/pull/347

@flx42

But that's not all, we also need to bind-mount devices in /dev, that's not possible with a side-car container.

As long as devices share the same major/minor pair, they are shared among different containers in the same guest, which means you do not need to bindmount them. Just pass the same major/minor pair in the OCI spec, and they will be treated as the same device by kernel.
OTOH, I agree in your use case the arbitrary rootfs hooks are much simpler than adding implicit sidecars. Thanks for the explanation. Please go ahead with the modification and I'm fine with saving the spec somewhere in the rootfs.

Consolidating this PR with https://github.com/kata-containers/agent/pull/347


Compile Errors

Hi there,
Just getting round to setting this up on a NodeMCU v3 via the ESPHome addon within HA. I am getting the following errors:
logs_iBoost_run.txt
I am quite new to this, so any assistance one could give would be much appreciated!

The problem is the same as in #10 below. Try compiling from esphome command line. You need to copy the CC1101_RFx.cpp file to the location the CC1101_RFx.h gets copied to.

Also, in iboost.yaml, you may need to set the board type
I say that because I see in your log extract
Processing cc1101 (board: esp01_1m;
I have nodemcu 12E and have as below (I'm not sure that nodemcuv3 is a valid option, but you could try it if nodemcuv2 doesn't work)
esphome:
name: iboost
platform: ESP8266
board: nodemcuv2


Always add codec info to AddTrackRequest

Add codec info to AddTrackRequest so the sfu can prefer codec for client which don't support setCodecPreferences. Previously, we only add codec info for the publication that have both videoCodec and backup Codec settled.
@lukasIO The subscriptionFailure e2e can't work for firefox as it actually publishes a vp8 codec.

makes sense, so the server will leave only the preferred codec in the server's sdp answer?

makes sense, so the server will leave only the preferred codec in the server's sdp answer?

No, it will reorder the codec list in the answer to put the preferred one in the head


Submit Ghana data up to March 29

This contains the csv file for all the Ghana covid19 data up to March 29.

Hey @jamesmbaazam looking good. Please change the date format to YYYY-MM-DD


feat: add landing page

Closes #19

adds landing page (not final)
adds PUBLIC_IS_DEMO flag
adds tests for demo environment
implements TailwindCSS with default settings
Partially satisfies #11

I don't know if you're going to keep implementing the styles

@GregoMac1 not sure yet, it depends on how are we doing with the time we have left. I'm trying to push the final styling for later because I actually want to use Chromabox to generate the colors 😁


add the qcow2 image support

Add the ability to use qcow2 image for any nodes. So far, it was only possible for the
install-server.
Also switch the cloud-init image from raw ISO to qcow2.

That could be nice to have different sample for each different way to bootstrap a sps platform (one with qcow2 and one with PXE). And it could be nice to move theses files into the examples dir. What do you think ?

Yes, this is a good idea.

Please do not merge for the moment.

If you don't want a merge, juste close the pull request and submit it later :-)


Respect GOARCH setting with automatic toolchain downloads (i.e. with GOTOOLCHAIN=auto) for multi-arch use-cases

Go version
go version go1.21.4 linux/amd64
Output of go env in your module/workspace:
GOCACHE=/foo/deps/gomod
GOMODCACHE=/foo/deps/gomod/pkg/mod
GOPATH=/foo/deps/gomod
GOPROXY=file:///foo/deps/gomod/pkg/mod/cache/download
GOTOOLCHAIN=auto

What did you do?

Pre-fetch dependencies of a project and store them in the mod cache favoring the latest toolchain on a given arch (x86) using GOTOOLCHAIN=auto:
Run a build on a different arch (aarch64) using the mod cache from previous step with no network:

What did you see happen?

on an online x86_64 machine:

$ go version
go version go1.21.4 linux/amd64

$ cat go.mod
go 1.21
toolchain 1.21.6
...

$ GOTOOLCHAIN=auto GOSUMDB=sum.golang.org ... go mod download
go: downloading go1.21.6 (linux/amd64)
...

on an offline aarch64 machine:

$ go version
go version go1.21.4 linux/arm64

$ GOTOOLCHAIN=auto GOMODCACHE=/foo/deps/gomod/pkg/mod GOPROXY=file:///foo/deps/gomod/pkg/mod/cache/download ... go build -a -x -v
go: downloading go1.21.6 (linux/arm64)
go: download go1.21.6 for linux/arm64: toolchain not available

$ tree /foo/deps/gomod| grep -C5 toolchain
...
cache
  └ download
        ├ golang.org
              ├ toolchain
                    └ @v
                           ├ v0.0.1-go1.21.6.linux-amd64.lock
                           ├ **v0.0.1-go1.21.6.linux-amd64.zip**
                           ├ v0.0.1-go1.21.6.linux-amd64.ziphash
                           └ **v0.0.1-go1.21.6.linux-arm64.lock**
...

What did you expect to see?
Given that one is able to fetch and download a given release of Go for a given arch manually successfully:
GOARCH=arm64 go install 'golang.org/dl/go1.21.8@latest'; <path>/go/bin/linux_arm64/go1.21.8
I would assume that by instrumenting Go with GOARCH=<arch> GOTOOLCHAIN=auto with e.g. go mod download Go would also fetch a toolchain of the desired version for the desired architecture, but instead a native toolchain of the desired version is always downloaded instead, naturally failing the build on the other arch. Now, aside from Go being able to cross-compile for many platform/arch pairs out-of-the box already I'm wondering if you could consider this use case as well (have a single node to prefetch artifacts for the rest of the nodes in a multi-arch node setup) or there's some major technical blocker rendering this as a complete non-issue not worth addressing.

@golang/tools-team

GOTOOLCHAIN not only triggers a download but also a switch to that version to perform any command that was passed, including go mod download. Obviously this won't be possible if you download a toolchain for a different OS or arch.
perhaps it would be more appropriate for you to explicitly specify the toolchain module to pre download? https://proxy.golang.org/golang.org/toolchain/@v/list

The go install command in your example works because you're compiling the golang.org/dl/go1.21.8 tool for ARM and then running go1.21.8 download will download the runtime.GOARCH (which is ARM) version of the Go command. So it's using it's essentially just using Go's normal cross compiling behavior.
I like @seankhliao 's suggestion.

Closing this issue. Please reopen if you need more help.


info Client Err: 400 /v2/wallets/ <ClientError:BADREQUEST Required argument name missing.>

No matter what I try, no post data is received on BWS.
Tried multiple servers, fresh installs of BWS even fail. I'm clueless, been at this multiple weeks. Anyone have any idea? No matter the client requesting the endpoint, nor what server, always empty post data.. Not running ssl, thought maybe thats an issue but as far as I can tell it defaults to no ssl.

Use case is for Copay, though even from postman same errors

I had this happen - but ONLY on iOS builds, not Android. Very peculiar. Trying to talk to my own BWS server - only thing in the master branch that was altered was the bws address. Android can create walleys during the startup, iOS fails.
2017-02-21 05:35:39.290817 Copay[436:78446] Creating Wallet: {"m":1,"n":1,"networkName":"livenet"} 2017-02-21 05:35:41.677058 Copay[436:78446] Unknown error type: BADREQUEST: Required argument name missing. 2017-02-21 05:35:41.678607 Copay[436:78446] WARN: Unknown error type: BADREQUEST: Required argument name missing. 2017-02-21 05:35:41.678875 Copay[436:78446] Error creating wallet: BADREQUEST: Required argument name missing. 2017-02-21 05:35:41.679217 Copay[436:78446] WARN: Error creating wallet: BADREQUEST: Required argument name missing. 2017-02-21 05:35:43.703883 Copay[436:78446] Retrying to create default wallet.....:1 2017-02-21 05:35:43.706614 Copay[436:78446] WARN: Retrying to create default wallet.....:1 2017-02-21 05:35:43.707264 Copay[436:78446] ongoingProcess creatingWallet true 2017-02-21 05:35:43.708279 Copay[436:78446] Creating Wallet: {"m":1,"n":1,"networkName":"livenet"} 2017-02-21 05:35:46.830284 Copay[436:78446] Unknown error type: BADREQUEST: Required argument name missing.

It would appear that iOS will only talk properly to the BWS instance if using ssl.
I installed an ssl cert from Let's Encrypt and now everything works fine.

doesn't work for me, i successfully run on https://myserver/bws/api, and my server still shows me this err:
info Client Err: 400 /v2/wallets/ {"code":"BADREQUEST","message":"Required argument name missing."}
::ffff:<IP_ADDRESS> 2017-07-22T08:34:46.025Z "POST /bws/api/v2/wallets/" 400 65 9005.843 "Mozilla/5.0 (iPhone; CPU iPhone OS 10_3_1 like Mac OS X) AppleWebKit/603.1.30 (KHTML, like Gecko) Mobile/14E8301<PHONE_NUMBER>14064)" - -

on ios only, web works well

it works now. I need to replace all "*/bws/api" urls to my own altcoin's, not just the config file.

@Jonathan-ZHU
What was the solution?

@Jonathan-ZHU
could have more detail for your solution?

oh,sorry, du... first you should setup SSL for the website like BitLox said. Second, search the whole directory for "bws/api" and replace it with the url of the insight you've build on your own. For example:
"https://bws.example.com/bws/api/".

this problem only occurs on iOS build indeed. if it happens on web build or Android build, it might not caused by this issue.


Nagarro - The message "Romania is not a city in Romania" is displayed instead of the job locations

ENVIRONMENT: production
URL: https://scrapers.peviitor.ro
Browser: Chrome
Device: Laptop
OS: Windows 10
STEPS TO REPRODUCE:

Open the URL in the browser
Search for "Nagarro " Company
Check the job locations
Open https://www.nagarro.com/en/careers/job-search?country=romania&city=wfa/remote
Check the job locations

EXPECTED RESULTS:
Job locations are the same in Scrapers-UI as on the company website
ACTUAL RESULTS:
The message "Romania is not a city in Romania" is displayed instead of the job locations

https://www.nagarro.com/en/careers/job-search?country=romania&city=wfa/remote

Can you retest?

Re-tested, Job locations are the same in Scrapers-UI as on the company website


Change useFrontend logic

Should we replace the useFrontend cookie with a simple useOldDesign cookie (set to 1) that is just removed when people use /enable-frontend again?
I think this would fit our current approach better and might simplify code.
@kulla what do you think?
PS: just now I was sure setting useFrontend to 0 should deactivate the new frontend. very confusing 🤔

If you agree I'd probably start a PR (ping @kulla)

Do you mean: frontend is the default and only when useOldDesign === 1 the old design is used? (I am on board with this idea...)

Do you mean: frontend is the default and only when useOldDesign === 1 the old design is used? (I am on board with this idea...)

Yea, that's the idea. I don't think we need a propability based approach any more for this. I'd prefere a binary switch.


sqlContext error on Databricks

Hello,
We recently gave a shot at Databricks, and we are encountering a "weird" error. Sometimes (we still don't know what is triggering this, but it seems quite random), sparklyr returns the following error when dealing with data (everything worked fine before), and then the only solution is to kill the cluster and restart it (same error comes again, different notebook or user):
Error: java.lang.IllegalArgumentException: invalid method catalog for object 2/org.apache.spark.sql.hive.HiveContext fields 0 selected 0
	at sparklyr.Invoke.invoke(invoke.scala:165)
	at sparklyr.StreamHandler.handleMethodCall(stream.scala:123)
	at sparklyr.StreamHandler.read(stream.scala:66)
	at sparklyr.BackendHandler.channelRead0(handler.scala:51)
	at sparklyr.BackendHandler.channelRead0(handler.scala:4)
	at io.netty.channel.SimpleChannelInboundHandler.channelRead(SimpleChannelInboundHandler.java:105)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348)
	at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:340)
	at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:102)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348)
	at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:340)
	at io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:310)
	at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:284)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348)
	at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:340)
	at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1359)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348)
	at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:935)
	at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:138)
	at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:645)
	at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:580)
	at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:497)
	at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:459)
	at io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:858)
	at io.netty.util.concurrent.DefaultThreadFactory$DefaultRunnableDecorator.run(DefaultThreadFactory.java:138)
	at java.lang.Thread.run(Thread.java:748)

In the Spark error logs, we can see the following:
OpenJDK 64-Bit Server VM warning: ignoring option MaxPermSize=512m; support was removed in 8.0
Fri Feb  1 08:23:54 2019 py4j imported
Fri Feb  1 08:23:54 2019 Python shell started with PID  21937  and guid  49dcd6c1240e4b0874aad9444f8aeff9
Fri Feb  1 08:23:54 2019 Python shell executor start
19/02/01 09:29:09 ERROR sparklyr: Gateway (65529) failed calling sql on 2
19/02/01 09:29:09 ERROR sparklyr: Gateway (65529) failed calling fit on 308
19/02/01 09:31:16 ERROR sparklyr: Gateway (65529) failed calling json on 228
19/02/01 09:31:16 ERROR sparklyr: Gateway (65529) failed calling collect on sparklyr.Utils
19/02/01 09:52:46 ERROR sparklyr: Gateway (65529) failed calling catalog on 2
19/02/01 09:52:47 ERROR sparklyr: Gateway (65529) failed calling fit on 656
19/02/01 09:55:51 ERROR sparklyr: Gateway (65529) failed calling sqlContext on 2
19/02/01 09:58:57 ERROR sparklyr: Gateway (65529) failed calling sqlContext on 2
19/02/01 09:58:57 ERROR sparklyr: Gateway (65529) failed calling collect on sparklyr.Utils
19/02/01 10:01:34 ERROR sparklyr: Gateway (65529) failed calling sqlContext on 2
19/02/01 10:15:40 ERROR sparklyr: Gateway (65529) failed calling sqlContext on 2

And the R session
R version 3.4.4 (2018-03-15)
Platform: x86_64-pc-linux-gnu (64-bit)
Running under: Ubuntu 16.04.4 LTS

Matrix products: default
BLAS: /usr/lib/openblas-base/libblas.so.3
LAPACK: /usr/lib/libopenblasp-r0.2.18.so

locale:
 [1] LC_CTYPE=en_US.UTF-8       LC_NUMERIC=C
 [3] LC_TIME=en_US.UTF-8        LC_COLLATE=en_US.UTF-8
 [5] LC_MONETARY=en_US.UTF-8    LC_MESSAGES=en_US.UTF-8
 [7] LC_PAPER=en_US.UTF-8       LC_NAME=C
 [9] LC_ADDRESS=C               LC_TELEPHONE=C
[11] LC_MEASUREMENT=en_US.UTF-8 LC_IDENTIFICATION=C

attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base

other attached packages:
[1] sparklyr_0.9.4  DBI_1.0.0       lubridate_1.7.4 dplyr_0.7.8

loaded via a namespace (and not attached):
 [1] Rcpp_1.0.0       dbplyr_1.3.0     plyr_1.8.4       pillar_1.2.1
 [5] compiler_3.4.4   later_0.7.5      bindr_0.1.1      r2d3_0.2.3
 [9] base64enc_0.1-3  tools_3.4.4      digest_0.6.15    lattice_0.20-35
[13] jsonlite_1.5     tibble_1.4.2     nlme_3.1-137     pkgconfig_2.0.1
[17] rlang_0.3.1      psych_<IP_ADDRESS>    shiny_1.2.0      rstudioapi_0.7
[21] parallel_3.4.4   bindrcpp_0.2.2   httr_1.3.1       stringr_1.3.0
[25] htmlwidgets_1.3  grid_3.4.4       rprojroot_1.3-2  tidyselect_0.2.4
[29] glue_1.2.0       forge_0.1.0      R6_2.2.2         foreign_0.8-70
[33] reshape2_1.4.3   purrr_0.3.0      tidyr_0.8.0      SparkR_2.3.1
[37] magrittr_1.5     backports_1.1.2  promises_1.0.1   htmltools_0.3.6
[41] mnormt_1.5-5     assertthat_0.2.0 mime_0.5         Rserve_1.7-3
[45] xtable_1.8-3     httpuv_<IP_ADDRESS>   stringi_1.1.7    lazyeval_0.2.1
[49] broom_0.4.4

We are working with Spark 2.3.1, scala 2.11, databricks runtime version 4.3, and r4.8xlarge as workers and master
Could that be a bug? Or is there something we are not doing properly?
Thank you for your help
Cheers,
Richard

Which version of sparklyr are you using? Could you try with the latest version of sparklyr? A fix was put in place for Databricks that might be the same issue you experience. You can install this fix with:
rstudio::install_github("rstudio/sparklyr")

@javierluraschi I was using sparklyr_0.9.4, I have updated sparklyr to sparklyr_0.9.9002, but I'm still facing same issues:

When reading a parquet with spark_read_parquet, i get the following error java.lang.IllegalArgumentException: invalid method sqlContext for object 1/org.apache.spark.sql.hive.HiveContext fields 0 selected 0
When trying to load a spark model using ml_load, i get the following error Error: java.lang.IllegalArgumentException: invalid method catalog for object 1/org.apache.spark.sql.hive.HiveContext fields 0 selected 0

Plus I got the following error when building a pipeline Error in ml_map_param_list_names(.): cannot open file '/databricks/spark/R/lib/sparklyr/R/sysdata.rdb': No such file or directory

@The-Dub  We recently fixed a similar issue.  https://github.com/rstudio/sparklyr/pull/1797
Would you please verify that you install pre-release version (0.9.5). On Databricks, if you re-install an R package, you need to detach and re-attach the notebook. To double check run sessionInfo()
remotes::install_github("rstudio/sparklyr", "feature/sparklyr-0.9.5")

Please let us know if you still get the error.

Hi Falaki,
I'll give it a shot, but I already tried the development version (after the fix), and the issue was still present, see my previous post.
@falaki I see that you work for databricks, and look into sparkly problems with databricks. Would you be the right person to talk to about issues on Databricks?

Yes, if you are a paying Databricks customer you can file support tickets and our support and engineering teams will handle them.

Indeed, we are paying DB customer.
We are still experiencing the above problems, alongside with the following error when writing parquet to s3:
  No status is returned. Java SparkR backend might have failed.
Calls: <Anonymous> ... <Anonymous> -> callJStatic -> invokeJava -> handleErrors```

Should we go through them, or do you need more info to work where this might be coming from?

Thank you!

@The-Dub yes please file a ticket directly to Databricks.

Opened a ticket with Databricks


location/cmd bar

@clehner's search is pretty handy, but it gets in the way when the screen is narrow.

my idea: move to just below the tabs, like the browser location bar.
then, on whatever tab you are on, the location bar shows the raw location. i.e. the message hash, feed id, /public /private, etc or search term.
The tab name can then be a human readable name (i.e. feed name or first line of root message in thread)
we can also use this for things like invites codes. just paste the invite code into the location bar to use it.

Oh, looking at the code, I have realized that the searchbox basically is a location bar.
it just needs to update to show the current location...
It's a great sign you are doing things right (modular) when you want to do a thing and you realize that it's already done, just a matter of composing. All i need to do is implement a screen_view that does invite codes and we have invite codes!

when I added the search box I was thinking of it like a command line search prompt, like in vim or mutt, or surf. i set it to only be visible when active to take up less space. but changing it to be more like a location bar i think is fine as that is a familiar UI item and is more general/powerful.

hmm, well it doesn't disappear anymore for me. maybe that was after @evbogue's css?
anyway it is useful to keep it open so you can grab the ids though

@dominic Yes. I made it appear because I couldn't see it.

I think it's cool to move the location/searchbar wherever it needs to go.

This can be closed.


Add README

This will be our "landing page", linked from whatever publicity we get at BazelCon.
Rendered preview: https://github.com/bazel-contrib/SIG-rules-authors/blob/readme/README.md

Note to @bazel-contrib/rules-authors - the Bazel project has moved quickly to allow SIGs so a version of this README is now in https://github.com/bazelbuild/community/pull/1 as well (as a "Charter")


Hanging / crashing with voice_connect

Summary
When I try Bot#voice_connect it blocks everything (no respond at all) and below errors are occurred after few minutes. not sometime It happens everytime.
[WARN : heartbeat @ 2020-01-02 06:05:27.276] Last heartbeat was not acked, so this is a zombie connection! Reconnecting
[ERROR : heartbeat @ 2020-01-02 06:05:27.276] The websocket connection has closed: nil
[ERROR : vws-i @ 2020-01-02 06:06:46.249] VWS error: Disconnected.

With basic example code, same result I got.
https://github.com/discordrb/discordrb/blob/master/examples/voice_send.rb

I can see the bot successfully join specific voice_channel. but just showing. no respond at all. any following code after voice_connect, any command from discord channel.

Environment
Ruby version:
ruby 2.6.3p62 (2019-04-16 revision 67580) [x86_64-linux]
Discordrb version:
.rbenv/versions/2.6.3/lib/ruby/gems/2.6.0/gems/discordrb-3.3.0

This was fixed in #648.

In the meantime, if you need to use voice you can use swarley's voice_websocket_update branch

Thank you guys! @TrenchFroast, @kaine119

Why'd you reopen?

Why'd you reopen?

requested by @z64.
To notice to who has similar question. this issue will closed with #648

Hopefully it's fixed soon, I want to build a voice bot but don't wanna compile from source.

This was fixed via shardlab/discordrb@4b1c9f0c095476e9e75bfd19e0153b44c6f86d73 in the new repo and released in v3.4.0 and can be closed. Thank you for the report.


Write a C program to find volume of a cylinder

Description
Write a C program to find volume of a cylinder
Volume of cylinder = π × Radius^2 × Height
Radius : 2
Height : 3

Volume : 37.69911184307752

How to contribute

Save the solution in FindVolumeOfACylinder.c file
Add FindVolumeOfACylinder.c file in program/find-volume-of-a-cylinder folder

!assign


extract aggregate to input list (SR-8573)

I wrote most of this up while waiting for the AD ticket, so I thought I might as well finish it and send it out for review!

So we need a way to tell the compiler that whether the input should be a single value or a list. Unlike attributes, inputs do not have labels so adding a $-suffix probably won't work.
Instead of unpacking aggregates directly, I would suggest making unpacking work on array literal elements like a flat map operation. It unpacks all elements of an array literal and concatenate the results together.
Here are two examples:
let x: Tenors<Float>
#tfop("TensorSliceDataset", [x], ...)
// after unpacking:
// #tfop("TensorSliceDataset", [x], ...)

let x: (Tenors<Float>, (Tensor<Float>, Tensor<Float>))
#tfop("TensorSliceDataset", [x], ...)
// after unpacking:
// #tfop("TensorSliceDataset", [x.0, x.1.0, x.1.1], ...)

I have modified it to do aggregate unpacking inside arrays, and I replaced a bunch of existing unpacking code with the new general unpacking code. This PR removes more non-test lines than it adds!
To get everything to work, I had to add a bunch of fancy features to the general unpacking code, because those fancy features existed in the unpacking code that I removed: unwrapAggregateInstructions and loweredTupleElts/loweredStructFields.
I did not make the new code use TensorProtocol like the old code. It doesn't seem necessary right now. If we ever need it, it should be easy to add back in as a recursive base case in unpackTensorAggregates.

@swift-ci please test tensorflow


TypeError: Cannot read property 'id' of undefined

I'm using the newest version of the bot.
 TypeError: Cannot read property 'id' of undefined
data:    index.js:1095 -     at CrownsCommand.run (/home/arcyvilk/crown-bot/src/commands/crowns.js:43:30)
data:    index.js:1095 -     at CrownsCommand.execute (/home/arcyvilk/crown-bot/src/handler/Command.js:14:24)
data:    index.js:1095 -     at module.exports (/home/arcyvilk/crown-bot/src/events/message.js:11:19)
data:    index.js:1095 -     at CrownBot.emit (events.js:160:13)
data:    index.js:1095 -     at MessageCreateHandler.handle (/home/arcyvilk/crown-bot/node_modules/discord.js/src/client/websocket/packets/handlers/MessageCreate.js:9:34)
data:    index.js:1095 -     at WebSocketPacketManager.handle (/home/arcyvilk/crown-bot/node_modules/discord.js/src/client/websocket/packets/WebSocketPacketManager.js:105:65)
data:    index.js:1095 -     at WebSocketConnection.onPacket (/home/arcyvilk/crown-bot/node_modules/discord.js/src/client/websocket/WebSocketConnection.js:333:35)
data:    index.js:1095 -     at WebSocketConnection.onMessage (/home/arcyvilk/crown-bot/node_modules/discord.js/src/client/websocket/WebSocketConnection.js:296:17)
data:    index.js:1095 -     at WebSocket.onMessage (/home/arcyvilk/crown-bot/node_modules/ws/lib/event-target.js:120:16)
data:    index.js:1095 -     at WebSocket.emit (events.js:160:13)
data:    index.js:1095 -     at Receiver.receiverOnMessage (/home/arcyvilk/crown-bot/node_modules/ws/lib/websocket.js:789:20)
data:    index.js:1095 -     at Receiver.emit (events.js:160:13)
data:    index.js:1095 -     at Receiver.dataMessage (/home/arcyvilk/crown-bot/node_modules/ws/lib/receiver.js:422:14)
data:    index.js:1095 -     at Receiver.getData (/home/arcyvilk/crown-bot/node_modules/ws/lib/receiver.js:352:17)
data:    index.js:1095 -     at Receiver.startLoop (/home/arcyvilk/crown-bot/node_modules/ws/lib/receiver.js:138:22)
data:    index.js:1095 -     at Receiver._write (/home/arcyvilk/crown-bot/node_modules/ws/lib/receiver.js:74:10)
data:    index.js:1095 -     at doWrite (_stream_writable.js:407:12)
data:    index.js:1095 -     at writeOrBuffer (_stream_writable.js:393:5)
data:    index.js:1095 -     at Receiver.Writable.write (_stream_writable.js:290:11)
data:    index.js:1095 -     at TLSSocket.socketOnData (/home/arcyvilk/crown-bot/node_modules/ws/lib/websocket.js:864:35)
data:    index.js:1095 -     at TLSSocket.emit (events.js:160:13)
data:    index.js:1095 -     at addChunk (_stream_readable.js:269:12)

The related code:
let user
        if (args.length > 0) {
            if (cmds.includes(args[0])) {
                const command = require(`./crowns/${args[0]}`)
                await command.run(client, message, args.slice(1))
                return
            } else {
                user = message.mentions.members.first()
            }
        } else {
            user = message.member
        }
        const crowns = await client.models.crowns.findAll({
            where: {
                guildID: message.guild.id,
                userID: user.id // <= here the bug triggers
            }
        })

Did you try to use crowns command with usernames and/or tags? Because it only works with mentions.


This page is incorrect

The examples are different from the definitions.
Also, --group-name is now --name.

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

ID: 01f8fe72-48f6-2e30-0741-d83bafc5d438
Version Independent ID: 32ed6908-2c71-3c17-683b-d07eb08d4590
Content: az account management-group
Content Source: latest/docs-ref-autogen/ext/managementgroups/account/management-group.yml
Service: azure
GitHub Login: @rloutlaw
Microsoft Alias: routlaw

Yeah, I see this too. Various commands are mixing up the az account management-group with the az cli extension for managementgroups.

Please remove this page, or reference to the correct cli https://docs.microsoft.com/en-us/cli/azure/account/management-group?view=azure-cli-latest  -- this caused much confusion.

Thank all for the findings. I will remove this extension from this repo.


Switch from terms facet to aggregations

NOTE: There is a complementary sheer PR that should be merged at the same time as this one: https://github.com/cfpb/sheer/pull/88
Facets are deprecated in ElasticSearch and will be removed in a future release. This migrates them to aggregations which work pretty much the same way as facets.
This PR essentially makes the change from {"term": "term-you-want"} to {"key": "term-you-want"} to reflect the minor difference between the ElasticSearch results for facets and aggregations.

:+1: Don't know much about the background behind these but it looks good to me

This looks good. I just merged https://github.com/cfpb/sheer/pull/88, so merging this so nothing breaks.

I think this just broke the branch. I'm now seeing
UndefinedError: 'dict object' has no attribute 'key'
from
File "/Users/[user]/.virtualenvs/cfgov-refresh/lib/python2.7/site-packages/jinja2/filters.py", line 265, in do_sort
return sorted(value, key=sort_func, reverse=reverse)

Yes, you need to update sheer as well.


Angular Template Publish Error - CALL_AND_RETRY_LAST Allocation failed - JavaScript heap out of memory

Hi,
With Angular Template in Visual Studio 2017, the publish command fails with below error:
node node_modules/webpack/bin/webpack.js --env.prod
EXEC(0,0): Error : CALL_AND_RETRY_LAST Allocation failed - JavaScript heap out of memory
D:\MyProject\MyProject.csproj(49,5): Error MSB3073: The command "node node_modules/webpack/bin/webpack.js --env.prod" exited with code 3.

When using Angular CLI, I was able to increase memory in ng and ngc files under node_modules\.bin folder.
I made the same changes for this project as well. But it seems that its not working. Is there any way to increase mode memory in visual studio when using Angular template from Microsoft?

I'am also facing the same issue!!
How you solve this?


Question, not an issue: Similar projects for creating custom mjml components?

Hey @F21 , thanks for this package! It comes in very handy for a project we're currently working on 🙌
I just wanted to ask if you have any similar solution or know of any alternatives for using custom mjml components in go as well?
Mjml's proposed solution seems quite javascript heavy
(Sorry for asking this as an issue, didn't come up with any better way of reaching out)

I don't think this is easy to achieve in a generic way. See my response here: https://github.com/Boostport/mjml-go/issues/15#issuecomment-1636673712
The only way I can think of is to modify the wrapper to include your custom component and to compile your own version of the wasm binary.
Perhaps down the track, a tool can be written in go to streamline the creation of the wasm binary, but it will be a big undertaking.

Thanks for the quick reply and sorry for missing that you had replied to the same question already!
Alright, I think that aligns with what I've gathered so far as well. We'll leave it for now


Performance degraded from 2.0.7 to 2.1.0-rc3

Hello,
scrolling our ListView which is image intense became sluggish when we upgraded from 2.0.7 to 2.1.0-rc3.
Tested on Nexus5 Android 6.
Our ListView is basically a Twitter stream with large Picture + Profile Picture.

Do you have some transformations?

Would it be possible to check your app with branch changes https://github.com/luberda-molinet/FFImageLoading/tree/scheduler-changes ?

Heya,
I don't use any transformation.
Xamarin.Foms 2.2.0 (latest stable).
I'll try to check the changes as soon as possible.
Thank you!

@coonmoo Are you sure that performanxe differences don't come from XamarinForms 2.2 changes? (lot layout handling changes).

@coonmoo There was definitely a massive regression on Android: memory cache was no longer used...
That's now fixed https://github.com/luberda-molinet/FFImageLoading/commit/ec3822e0d22a92e9a9f9be12b83f1204c9d08a60

Could you tell us if things are back to normal?
Please note that 2.2 will be a performance release: we have tons of ideas to improve things.

Performance of 2.1.0 is better than with  2.1.0-rc3.
But our list is still a little bit sluggish (2.0.7 was running totally smooth).

For us there is no real difference between 2.1.0 and 2.1.0-rc3.
One thing I'm wondering about: Is it ok, that OnFreeResources is being called very often in my app while scrolling in a listview?

@bspinner Do you have a performance regression too?
Yes it is normal to have OnFreeResources called many times while scrolling.

@bspinner @coonmoo Are you sure the performance difference isn't related to Xamarin.Forms itself? Did you try on XF < 2.2?

Hi, I upgraded to XF <IP_ADDRESS> then needed to upgrade FFImageLoading to 2.1.0-rc3 for compatibility. I use CachedImage in listview and FFImageLoading previous official release with XF previous offical release was working great. Now with latest versions, image loading performance is similar between using either CachedImage or standard Image in <IP_ADDRESS>..i.e not the excellent improvements experienced in scolling etc with last XF version! Now...I'm not sure what has been altered in new XF and where the problem lies...just some observations from the upgrades.

@mattfinch1980 We noticed some threading issues in 2.1, fix is coming soon.

@bspinner @mattfinch1980 @coonmoo @ravensorb We just upload alpha packages to nuget that contain massive performance improvements.
Could you give us your feedback on these?
Please don't consider these as production ready!

Hi haven't tested the new alpha packages extensively, but I got this crash in insights. When I went back to the page (image wasn't in a ListView) the image loaded successfully. This was on Android.
System.ObjectDisposedExceptionCannot access a disposed object. Object name: 'FFImageLoading.Drawables.SelfDisposingAsyncDrawable'.
Raw
Java.Interop.JniPeerMembers.AssertSelf(IJavaPeerable self)
Java.Interop.JniPeerMembers.JniInstanceMethods.InvokeVirtualVoidMethod(string encodedMember, IJavaPeerable self, JniArgumentValue* parameters)
Android.Graphics.Drawables.Drawable.SetBounds(int left, int top, int right, int bottom)
FFImageLoading.Drawables.FFBitmapDrawable.OnBoundsChange(Rect bounds)
Android.Graphics.Drawables.Drawable.n_OnBoundsChange_Landroid_graphics_Rect_(IntPtr jnienv, IntPtr native__this, IntPtr native_bounds)
at (wrapper dynamic-method) System.Object:d5f46de0-a710-4870-9638-71944e069733 (intptr,intptr,intptr)
Also sometimes on iOS images in a ListView refused to load, I did a hard close, reopened the app and the images downloaded again.
Also 1 last thing, scrolling in a ListView in iOS still shows wrong images briefly during the scrolling. I'm using XAML DataTemplate ViewCell with image binding in the XAML Source="{Binding MyImage}". Do I need to use OnBindingContextChanged in the XAML code behind? When I tried that couldn't get the image loading at all :(, or I'm doing it wrong because I'm using XAML.

@michaeldimoudis You should follow this: https://github.com/luberda-molinet/FFImageLoading/issues/200
I'll update wiki soon

Just one thing: please don't mix different issues in the same issue.
Instead if you can create separate issues that's much easier to manage for us.
Thanks!

@michaeldimoudis the ObjectDisposedException you reported was with 2.1.1 pre1 or 2.1.0 ?
Same question for iOS issue where images where no longer loaded.

It was all pre 1. Saw your Nuget update so thought I'd test it out. I believe with the iOS issue, it looks like it wants free network resources before even loading even a cached image?

Hi,
Just upgraded to new 2.1.1 pre-release and tested with Xamarin Forms <IP_ADDRESS>.
Compiled and run on Android so far. The use of cachedimage inside listview appears to have definitely improved since the last development release. Rapid scrolling on screen seems fine.
I will experiment further by increasing the count of cells within the listview and adding additional image loading processes.
Thanks for the effort and development.
Best Regards,
Matt
From: Michael Dimoudis<EMAIL_ADDRESS>Sent: 26 May 2016 17:40
To: luberda-molinet/FFImageLoading
Cc: mattfinch1980; Mention
Subject: Re: [luberda-molinet/FFImageLoading] Performance degraded from 2.0.7 to 2.1.0-rc3 (#206)
It was all pre 1. Saw your Nuget update so thought I'd test it out. I believe with the iOS issue, it looks like it wants free network resources before even loading even a cached image?
—
You are receiving this because you were mentioned.
Reply to this email directly or view it on GitHub https://github.com/luberda-molinet/FFImageLoading/issues/206#issuecomment-221926235 https://github.com/notifications/beacon/AKOlqdNLWrGYVH6lFFrQ20afY6fJ2Tvqks5qFczXgaJpZM4IgZCp.gif

Closing since performance are much better in prerelease.
If you encounter bugs please create new issues.


Can't open game filter to disable shaders

I was able to successfully install this and use shaders, but now I can't open the game filter menu. The keybind and the overlay button don't do anything, not even give the the unsupported game message. I don't even know how to uninstall Bloxshade.

I got the game filter menu to open but now it just shows "image sharpening" which I can't even edit.

It also says I need a supported game when I launch it from the website.

Okay, I've done a lot of tweaking, and eventually I just reinstalled Roblox, but now I'm back where I started where the shaders are on but I can't toggle them or open the menu.

I'm having the same issue. I accidentally left shaders on when I exited roblox, and because of that, my shaders keep turning on whenever I open roblox.

https://discord.gg/YPSkPp5Q

fix is in faq


Import stix2arango in requirements.txt

Seeing as we're moving away from submodules, lets install stix2arango via requirements.txt

@fqrious is it safe to remove?

I just removed it


How to use?????????????

Please add some instructions to the internet on how to use this as there is nothing out ther./

Hi @CrayzCrinkle, check out the gif showing usage of the extension here: https://github.com/natalieperna/layout-trello#usage
Clicking the browser bar icon to rotate through the 3 different layout options is the only interface and use of this extension.
Closing this issue as solved, if you have any further questions just reply here and I'll reopen it.


Updated explorer workbook

how did this PR get merged when the CI build failed?  it should have rejected this PR


Added 4 translation keys in two files

solving issue #1168
for my usecase of the react-chart-editor i needed translation, and discovered strings which aren't keys.
I changed keys in two lines of ColorPicker.js and one line in DataSelector.js and added the localize variable
after that i ran the scripts to integrate the keys in the translation-key files

@dmt0 there are checks failing. Could you point me to the issues for the checks? What would it take to merge this pull request?

Hi @WillyKirchner sorry for the huge delay and thanks for your contribution! I couldn't get the CI to work on this branch, maybe because the job is super stale. I did include your changes in my https://github.com/plotly/react-chart-editor/pull/1172. Release is coming soon. I'm gonna close this for now.


core: fix unsafe APIs scaladocs

The unsafe warnings are not showing up in scaladocs because they're formatted as a regular comment. I've also added the warning to a few APIs that were missing it.

merging since it's a trivial cleanup


Skip processing Hue Bridges as deletion candidates + some static analysis cleanup

This removes the API version guard on the auto add/delete scan during
event stream connection and instead skips to the next element in the
iterator if it detects that the current iteration target is a device
record that represents a bridge.
We do this because we do want the auto-add/auto-delete routine to
run on older firmware, as the delete function does feature detection
on the lua libs and uses device:offline() as a fallback. Plus, auto
add will work on all firmware versions, so this is the better UX all
around.
We also address some static analysis lints from the Lua Language Server
VS Code plugin.
Most of these are just refining/augmenting gradual typing to quiet the
IDE warnings, but there were a few places that we were missing nil
checks or otherwise had other potential bugs that got addressed here.
I'll remove the do not merge label after this goes through some regression
testing on more 0.47 targets since this was related to a pretty nasty bug.

I tested this on a hub running the older firmware that could have problems with the delete logic and this seems to be a sufficient mitigation. Merging this PR would let us restore the auto-add functionality on all hubs, and the marking offline of deleted lights for hubs that don't support auto-delete.


CMake default options

We are using WavPack as git submodule/directory in our project to build it statically as part of an "audiofile static library" for our sfz library project.
Just noticed in CMake configuration:
-- The following features have been enabled:

 * WAVPACK_ENABLE_DSD, Enable support for WavPack DSD files.
 * WAVPACK_ENABLE_THREADS, Enable support for threading in libwavpack.
 * WAVPACK_INSTALL_CMAKE_MODULE, Generate and install CMake package configuration module.
 * WAVPACK_ENABLE_ASM, Enable assembly optimizations.
 * WAVPACK_ENABLE_LIBCRYPTO, Use OpenSSL::Crypto library.
 * WAVPACK_BUILD_PROGRAMS, Build programs.
 * WAVPACK_INSTALL_DOCS, Install documentation.
 * WAVPACK_INSTALL_PKGCONFIG_MODULE, Generate and install wavpack.pc.

maybe the build programs and install xyz options could be disabled automatically if the project is not the top most (sub project), what do you think? Though I'm not sure about others like libcrypto and dsd.
set(PROJECT_IS_MAIN OFF)
if(PROJECT_SOURCE_DIR STREQUAL CMAKE_SOURCE_DIR)
    set(PROJECT_IS_MAIN ON)
endif()
cmake_dependent_option(WAVPACK_BUILD_PROGRAMS "Build programs" ON
    "(WIN32 OR Iconv_FOUND) AND PROJECT_IS_MAIN" OFF)
# ...

though it seems there are 2 problems:
from cmake_dependent_option documentation:

New in version 3.22: Full Condition Syntax is now supported. See policy CMP0127.

Isn't OR (already there, despite my added AND) part of that full condition syntax, so that it requires at least CMake 3.22?
2nd problem:
BUILD_TESTING is used also in another library (Google Abseil). I don't think it's a good idea generic variable names like that, can you rename it to WAVPACK_BUILD_TESTING?

Thank you for the quick response. It's not that important, just something similar to a "silence the warnings" issue; the messages seems to be a "false alarm".

Is it possible to pass options into the CMake submodule based on the specific needs of the high-level project?

I solved by setting them OFF before our add_subdirectory("thirdparty/wavpack" EXCLUDE_FROM_ALL), where I forgot that EXCLUDE_FROM_ALL should avoid the unwanted builds.

I think for the other options, the defaults are pretty reasonable, and the only reason for disabling a given option (like DSD or threading) would be a tiny savings in space, or in rare cases eliminating a dependency that wasn't available on a specific platform.

Sure, in the end it's mainly referred to the build/install variables/options and only for the CMake message above that might be confusing, though they can be disabled (as I did) in the top project.


feat: Add dependabot

Signed-off-by: Gábor Lipták<EMAIL_ADDRESS>

@gliptak Thank you!
This project is projen managed. To enable dependabot a line with dependabot: true, needs to be added to the AwsCdkConstructLibraryOptions object literal in .projenrc.js. Then a npx projen@latest needs to be issued in the project dir.
See here for more options: https://github.com/projen/projen/blob/main/src/github/dependabot.ts
Currently this project uses projen's default upgrade-main workflow with mergify

@pflorek thank you for the pointer. I'm reviewing projen and submit a followup


Pointers to CDN missing

The Teams Client SDK can be consumed via a set of CDN endpoints. It looks like all the references to these have been removed from this page. Can you please re-add them?

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

ID: 4ae8187e-a7e4-4b5a-6f38-da6bfa30f2d2
Version Independent ID: 4ae8187e-a7e4-4b5a-6f38-da6bfa30f2d2
Content: Teams JavaScript client library SDK - Teams
Content Source: msteams-platform/tabs/how-to/using-teams-client-library.md
Service: msteams
GitHub Login: @heath-hamilton
Microsoft Alias: surbhigupta

Hello @ydogandjiev - We will look into it and will redirect to doc team accordingly.

@surbhigupta12 -Could you please help us to update the document.
Update the below sentence -
The TeamsJS client is distributed as an npm package and can be installed using npm or yarn or CDN.
Also add the 3rd option in table section as CDN
Add the below link in that section-
<!-- Microsoft Teams JavaScript API ([via CDN](https://www.npmjs.com/package/@microsoft/teams-js)) -->
<script
  src="https://res.cdn.office.net/teams-js/2.10.1/js/MicrosoftTeams.min.js"
  integrity="sha384-Tc1x2xjzm4vRqLV4l416qPm+i7t8ujpxrioZEjRCNP7g/gQNDW41TB1SpVkQxowY"
  crossorigin="anonymous"
></script>

Reference document- https://learn.microsoft.com/en-us/javascript/api/overview/msteams-client?view=msteams-client-js-latest&tabs=npm#finding-the-library-1

Good catch @ydogandjiev! Fixed now.

We are closing this issue for now, Please feel free to reopen it, if required.


Vaccine breakthrough and reinfections

Model vaccine breakthroughs.  Model should consider vaccine type, time since vaccination, actor demographics (i.e. age)
The actor should track a history of prior infections
This is related to vaccine waning.
Reinfections occur when an actor is infected with the same or a different variant.

The existing code already has a vaccine efficacy rate. However, cross variant protection is not modeled.

Started update of vaccine efficacy by making it per variant.  Next step will be to have it wane over time.


feat(body-parse): a body parse middleware

Hi @yusukebe , not sure it's good idea or not if Hono provides a built-in body-parse middleware to handle the json, xml and form payload for POST method.
This is just a simple PR to explain what it maybe like,  which is not ready for review, just for a better discussion.

@metrue
I’ve been wondering about it, but now I think body-parse middleware is good.
The points:

body property of Request is readable by default. That might be better to leave it be, but that's not the case.
Request instance has text(), json(), and formData() methods, so body-parse is not absolutely necessary. But, it's handy to handle request bodies of any format transparently.

So, please write body-parse middleware as builtin. Thank you for your proposal.

Thank you! I'll merge it.


Add actions from Decathlon

This PR adds 4 actions from @decathlon Open Source Organization:

release-notes-generator-action
wiki-page-creator-action
pull-request-labeler-action
slate-builder-action

Thanks a lot to our contributors @lusoalex @mmornati @rdelgatte @fossabot

@lauthieb your changes have been merged, thanks for your contribution 👍


Edit Received: from Header

Hello together,
I would like to hide the Received: from Header because rainloop is running on a raspberry pi at home on a nextcloud. i already tried to set a custom header, but this does not override the last Received header.
It would be okay if i can only override the host (in the example "Received: from MAIL.DOMAIN.TLD") with a plugin, the ip is not static so this is not that problem.
Subject: test
Received: from mout.kundenserver.de ([<IP_ADDRESS>]) by mx1.tools.mxtoolbox.com with ESMTP/TLS/DHE-RSA-AES256-SHA; 09 Sep 2016 18:36:21 -0500
Received: from MAIL.DOMAIN.TLD ([123.456.123.456]) by mrelayeu.kundenserver.de (mreue104) with ESMTPSA (Nemesis) id 0MPoeo-1bdZOD23fe-0052mD for<EMAIL_ADDRESS>Sat, 10 Sep 2016 01:36:19 +0200
Mime-Version: 1.0
Date: Fri, 09 Sep 2016 23:36:19 +0000
Content-Type: multipart/alternative; boundary="--=_RainLoop_799_378312147.1473464179"
Message-ID<EMAIL_ADDRESS>X-Mailer: RainLoop/<IP_ADDRESS>
From: "=?utf-8?B?U2Now7x0cnVtcGYsIE5pa2xhcw==?="<EMAIL_ADDRESS>To<EMAIL_ADDRESS>Received: from unknown.computer ([<IP_ADDRESS>])
X-Provags-ID: V03:K0:s3zIKYJyeTwo/TjHWwvAvGsgva7li+41nCsAR62u47rrS1ZubdI r8J1g3pcsU6+McJCaZTrducwNJUthUm2HHNgcjDelCv6UJHLlOwW+yrxaNEnZJ/RO9ocxbb EiWrX+IRH1MYpW4I2YVsFkChnRVKoYw9dkj0oESikgVdnW7Pni1csouD7ZHklzKTPeMK/JJ 2zweMOtZhHN1o1Tnp53Ng==
X-UI-Out-Filterresults: notjunk:1;V01:K0:XVtBcFSaDcw=:ySozuvEJ7KjabL8X9L6+0S OLAb5q3wdJy2dcA1zBzkZWfQ6767nJNMWVieXb2TwM8ubvrfkqWoe1YT04l+imntf4BOxX6X3 wesYMS7+k/1u7+YtYGNAjqNthRseGqj+M9XFveChWU3lvpORSMy7of3T4cw8CsB7BM4UO5EA9 oGOhAtc4YWbKW79EePkifgep3f4yeDwtSBer8QxKlYTeJZ83f0ECj0Tl5Bhipo/zumNQPFyd3 am8an1pyvu084hiIvrXyy/deNPa0ew53lLvRm97xoSBEke4IF5smPGna4gW7mqjoIAK8tu0rX k8VlvJHo7OXG99a6j3v8g2FoxpNQCvWCAlHB3sZ7amp2gk24lWKLdAjAsCf3fnjnfdOz5cZCH P3o1OQaiX77uiB0oHszc9pcYov/BizpviYx7Zl/UA9+VwdnzIKIRgvccsudMQxMjWB0W5XyLR G8Mt1bZn2Ho8e6sklIedmUcu1JOzmPROraMQGcF0vekq1QkwW8h/yXE5d+v+jrw9BHn4xwzei ypOMU+8Md8s+23a1vDzfmJsFjvdBy8zzB/cIQEyBXyGh15lg/WmlwCSQhIS4foRUBU7uxaTRD hIUnA8mUF2cwu04QHTamSta9Ib9nibWSP6iSQeo9f42b1o7YcdG7FKgg7SxwaggkfNaMhKsb7 nsUaBNt+lHufs2pVm+ACNC4q1hIazuqbr2k8O9hJEfMeAxJyfzhd24z+AMXjPdevdSNirLaqE e+9qAiTwT9Hob0So

- greetings from Germany

Somewhere the hostname must be set because if i connect via the local IP adress the recived from contains the local ip adress, if i connect via the hostname the hostname is set and if i connect via DynDNS the DynDNS adress is set. Would be great if i can edit this with a plugin.

There is nothing RainLoop or a plug-in can do here. That's all MTA related. Configure your Helo name there.

Okay, but i've found a very unsightly workaround for it:
during the helo phase rainloop sends the Server_Name Variable to the provider, so i set the Global variable to "server.local" for example during the message building. After all the apache/ php resets this variable.
however thanks


test(app): test deploy of DDS app (dds-test)

Test:

This is just reconfiguration of the deploy code to test the deployment framework
Produces an additional app with endpoint  https://dds-test.hackathon.globalbridge.app
code not to be merged with master
Run in a shell curl --header "Content-Type: application/json" --request POST --data '{"hands":{"S":["D3", "C6", "DT"],"W":["DA", "S4", "HT"],"N":["C7", "H6", "H7"],"E":["H2", "H5", "CQ"]}}' https://dds-test.hackathon.globalbridge.app/api/dds-table/

Closing, not needed.


debug

The Mac App can not work. It shows nothing.

Please provide more details.

I have the same problem. My bagel version is 3.1.0 by carthage. The mac app version is 1.0.1 (101).

@hllGitHub In fact, the author's readme did not express clearly. We don't just need your iOS devices and your Mac are in the same network. We also need our app to Install bagel, and the Mac App will have an effect.

@hupfei In fact, our app has already install bagel by carthage, but it can not work. When we install bagel by cocopods, it can work.


[React Community Landing Page] Search Results Don't Close

There's a small bug on the community page https://community.algolia.com/instantsearch.js/react/
When you enter a search and then click the "x" button to close out of it nothing happens. The search box doesn't close and stays present on the page.

There's a new community header component that is currently deployed everywhere by @JonasBa. We will probably wait for it.


[Cold and Flu]: JUNE 8 - Data clean up in prep for Launch

User Story
“As a Cold and Flu program administrator, I want to clean up all the test data in PROD so I can be sure all the data received after June 10 is from real clinic applicants.”
Tasks

[ ] Clean out all test data on the production environment on June 8
[ ] June 10, just before site goes live check and confirm there is no remaining test data
[ ] If testing happens during deployment remove that data as well

Acceptance Criteria

[ ] Confirm there is no cold and flu data in DJ PROD environment
[ ] Confirm data has been cleaned out of the BI environment with the BI/DIO team

Acceptance Criteria

Generated by Zenhub AI

[ ] Scenario: Cleaning up test data on June 8
Given the Cold and Flu program administrator is responsible for cleaning up test data
When they clean up all test data in the production environment on June 8
Then there should be no cold and flu data left in DJ PROD environment
[ ] Scenario: Confirming no remaining test data on June 10

Given the site is going live on June 10
When the program administrator checks for any remaining test data before launch
Then there should be no cold and flu data left in DJ PROD environment

[ ] Scenario: Removing testing data during deployment

Given testing happens during deployment
When the program administrator removes that data as well
Then there should be no cold and flu data left in DJ PROD environment

[ ] Scenario: Confirming data clean up with BI/DIO team

Given the Cold and Flu program administrator is working with the BI/DIO team
When they confirm that data has been cleaned out of the BI environment
Then there should be no cold and flu data left in the BI environment

@mikeshi-bcgov to clean out ODS data in production

@MikePSA To confirm we only need to clean up test records in "Registrations", leave records in "Contacts", "Minitries", and "WorkSites" as is now?

@Stella-Archer can you please check in with Heather to understand what needs to be cleaned up?

Records in table "Registrations" has been cleaned up with today's change.


Building to 3DS ROM?

Hi! I was looking around for a hobbyist game engine for the Nintendo 3DS and someone mentioned this gem. Every time I search the web for some sort of documentation for Punity or research material on it the only things that appear are the Unity game engine and some random horror game. So, can you build ROMs or any other executable file format for DS/3DS? If not may someone help me navigate to where I would be able to find such a place?
P. S. As of now I won't be able to build the engine. I'm assuming everything here is text base[d], but I could be wrong. May someone please confirm or deny my theory? Thanks!
EDIT: Took a look at the source code, silly me no game preview or anything (not that it's a bad thing or anything). Sorry!

@sketchedgrey I was able to build Punity for some ARM based handhelds, but never went into DS/3DS really. Can't even imagine where I'd start doing that really, since these platforms are closed. I'd probably look first at some homebrew OS and respective communities. Punity renders everything on CPU, only the final frame blip is done via OpenGL, which I'm not sure would be fast enough on way limited HW as DS/3DS. Changing Punity to render via OpenGL would be quite a feat and would basically change everything about Punity itself.
Other possible source is looking at SDL2 and it's community. I only found SDL1.2 ported to 3DS.

@sketchedgrey I was able to build Punity for some ARM based handhelds, but never went into DS/3DS really. Can't even imagine where I'd start doing that really, since these platforms are closed. I'd probably look first at some homebrew OS and respective communities. Punity renders everything on CPU, only the final frame blip is done via OpenGL, which I'm not sure would be fast enough on way limited HW as DS/3DS. Changing Punity to render via OpenGL would be quite a feat and would basically change everything about Punity itself.
Other possible source is looking at SDL2 and it's community. I only found SDL1.2 ported to 3DS.

Alright! If you do ever decide to implement 3DS support let me know! SDL-3DS looks pretty good. Honestly I don't have any practical uses for Punity at the moment but if I do find something I'll... ya know, use Punity.

@sketchedgrey I was able to build Punity for some ARM based handhelds, but never went into DS/3DS really. Can't even imagine where I'd start doing that really, since these platforms are closed. I'd probably look first at some homebrew OS and respective communities. Punity renders everything on CPU, only the final frame blip is done via OpenGL, which I'm not sure would be fast enough on way limited HW as DS/3DS. Changing Punity to render via OpenGL would be quite a feat and would basically change everything about Punity itself.
Other possible source is looking at SDL2 and it's community. I only found SDL1.2 ported to 3DS.

UPDATE: It looks like SDL is a Homebrew application maker, not something I can run from a card. Any other engines, @martincohen ?

SDL (Simple DirectMedia Layer) is a high quality library that provides platform API for input (controllers) and graphics. If you learn how to use it you'll be able to run code that uses it on 3DS (as well as Windows, Mac, Linux, or any other platform that SDL has been ported to). There are many game engines that can run on top of SDL (including Punity).
Of course it's not as straight forward and you'd have to get your hands dirty with some deeper knowledge (for example how to compile and package games for 3DS so you can run them from a card, etc.).

It might be also useful for you to clear out some possible confusion. Punity doesn't have any UI or anything resembling comfort of Unity or Unreal. It's a game framework, a piece of code that solves some of the low level problems for you so you can focus on game code.
I haven't seen a dedicated 3DS game engine in the open. The tech is closed and you have to have Nintendo developer account (or even a dev kit that is not cheap) in order to write games for Nintendo platforms. I know Game Maker and Unity might support Nintendo Switch, but you still need to have Nintendo account/devkit.
The only possible way for a hobbyist is to replace original OS with a homebrew OS and perhaps look at how some of the homebrew games were made (I'm sure authors of such games would share some of their insights).
Sorry I can't help more, never been dealing with this stuff and all my info is based on very limited sources that I've never studied deeply since I'm not interested in developing for old Nintendo platforms.


Updating datasets with non-organically described analysis files

Context
Prior to the current method of recording analysis files in the metadata schema, we had a method of adding analysis files to datasets that described just enough metadata to be indexed by Azul and exposed in the Data Browser (Details in the DCP/2 spec here https://docs.google.com/document/d/1NsibP8g-NeLnksxlcBWQsSj5Zg_uimCDaAF1qB_qkjg/edit#heading=h.aohbnknu370j)
In this ‘non-organic’ method of describing analysis_files and attaching them to datasets, we described them by adding them to this spreadsheet (https://docs.google.com/spreadsheets/d/1m9tXswoNAEYJDVlCKqc9L6p0c7hbOwddkQxdqxXydqY/edit#gid=0)
We have 101 datasets with 324 analysis files that were described in this way.
Issue
We have analysis files that are

not described in the metadata
Will not be in generated spreadsheets
Will not be in Ingest (as data files)

Potential Solutions:
Fortunately, described in the spreadsheets are the following columns:
date_added, project_uuid, project_shortname, get matrix, cell type, other, file_name, file_source, genusSpecies, development stage, organ, libraryconstructionapproach, date_imported, and Notes.

Pure Brute Force and Labour

Wranglers manually add analysis files to the subgraph of each experiment, adding additional metadata
This takes a lot of effort.

Programatically add links

There should be enough information to programatically add the analysis files to some extent
Issues will arise with deciding which cell suspensions to link to the analysis file, and creating the analysis_protocols from scratch (as they were not written out in the non-organic method and have no metadata stored on them)

the time and effort required is not justified at the moment
each project needs to be reviewed individually to remove the existing links and matrices from the terra record (see #1226)


Move Dockerfile to root directory.

Coverage remained the same at 100.0% when pulling 439ce8d2a5e5898878d895475e67be6f5f940d74 on dockerfile-root-directory into 8d605feac4fad6db320eb25325a5941fff0d022d on master.