[QST] Incompatible CUDA Version

I'm using the following container merlin-pytorch:22.12
When I try to execute sample workflow for Transformers4Rec, I'm getting the following errors:
I'm assuming UserWarning is caused by "cat_feats = ['product_id'] >> nvt.ops.Categorify(start_index=1) >> TagAsItemID()"
What is the most recent way of tagging features?
Is the CUDA version mismatch caused by incompatible versions? I've created this ticket on Merlin repo.
`
/usr/local/lib/python3.8/dist-packages/merlin/schema/tags.py:148: UserWarning: Compound tags like Tags.ITEM_ID have been deprecated and will be removed in a future version. Please use the atomic versions of these tags, like [<Tags.ITEM: 'item'>, <Tags.ID: 'id'>].
warnings.warn(
Failed to transform operator <nvtabular.ops.list_slice.ListSlice object at 0x7fae1e32e3d0>
Traceback (most recent call last):
File "/usr/local/lib/python3.8/dist-packages/numba/cuda/cudadrv/driver.py", line 2705, in add_ptx
driver.cuLinkAddData(self.handle, enums.CU_JIT_INPUT_PTX,
File "/usr/local/lib/python3.8/dist-packages/numba/cuda/cudadrv/driver.py", line 320, in safe_cuda_api_call
self._check_ctypes_error(fname, retcode)
File "/usr/local/lib/python3.8/dist-packages/numba/cuda/cudadrv/driver.py", line 388, in _check_ctypes_error
raise CudaAPIError(retcode, msg)
numba.cuda.cudadrv.driver.CudaAPIError: [222] Call to cuLinkAddData results in UNKNOWN_CUDA_ERROR
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/usr/local/lib/python3.8/dist-packages/merlin/dag/executors.py", line 170, in _transform_data
output_data = node.op.transform(selection, input_data)
File "/usr/local/lib/python3.8/dist-packages/nvtx/nvtx.py", line 101, in inner
result = func(*args, **kwargs)
File "/usr/local/lib/python3.8/dist-packages/nvtabular/ops/list_slice.py", line 111, in transform
_calculate_row_sizes[blocks, threads](
File "/usr/local/lib/python3.8/dist-packages/numba/cuda/dispatcher.py", line 491, in call
return self.dispatcher.call(args, self.griddim, self.blockdim,
File "/usr/local/lib/python3.8/dist-packages/numba/cuda/dispatcher.py", line 625, in call
kernel = _dispatcher.Dispatcher._cuda_call(self, *args)
File "/usr/local/lib/python3.8/dist-packages/numba/cuda/dispatcher.py", line 633, in _compile_for_args
return self.compile(tuple(argtypes))
File "/usr/local/lib/python3.8/dist-packages/numba/cuda/dispatcher.py", line 796, in compile
kernel.bind()
File "/usr/local/lib/python3.8/dist-packages/numba/cuda/dispatcher.py", line 178, in bind
self._codelibrary.get_cufunc()
File "/usr/local/lib/python3.8/dist-packages/numba/cuda/codegen.py", line 208, in get_cufunc
cubin = self.get_cubin(cc=device.compute_capability)
File "/usr/local/lib/python3.8/dist-packages/numba/cuda/codegen.py", line 181, in get_cubin
linker.add_ptx(ptx.encode())
File "/usr/local/lib/python3.8/dist-packages/numba/cuda/cudadrv/driver.py", line 2708, in add_ptx
raise LinkerError("%s\n%s" % (e, self.error_log))
numba.cuda.cudadrv.driver.LinkerError: [222] Call to cuLinkAddData results in UNKNOWN_CUDA_ERROR
ptxas application ptx input, line 9; fatal   : Unsupported .version 7.8; current version is '7.6'
`

@ldane thanks for the ticket, the UserWarning: Compound tags like Tags.ITEM_ID have been deprecated and will be removed in a future version... warning is fine.  And this line is correct as well:
cat_feats = ['product_id'] >> nvt.ops.Categorify(start_index=1) >> TagAsItemID()

can you please share the followings?

nvidia-smi output
nvcc --version output
cudf and dask cudf versions in the container
python version

Here is our PyT support matrix for releases versions in Merlin docker images.

@rnyak In this case even though I'm using the sactioned way, I'm still getting UserWarning. As a user this indicates me that I need to take action and modify my code. Is that the case? Or this is an issue that needs to be handled in NVTabular?
It looks to me ListSlice operator follows a path that ends up with function that needs CUDA 7.6.
I'm attaching the following outputs:

nvidia-smi doesn't exists in the container. Thus, I'm getting "bash: nvidia-smi: command not found"
nvcc --version
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2022 NVIDIA Corporation
Built on Wed_Sep_21_10:33:58_PDT_2022
Cuda compilation tools, release 11.8, V11.8.89
Build cuda_11.8.r11.8/compiler.31833905_0
pip freeze|grep cudf
cudf==22.8.0a0+304.g6ca81bbc78.dirty
dask-cudf==22.8.0a0+304.g6ca81bbc78.dirty
python -V
Python 3.8.10

I've also tested with vanilla container image (merlin-pytorch:22.12). I'm getting a different error all together. I believe the vanilla container doesn't have db-dtypes? Should I create a new ticket for this?
TypeError: data type 'dbdate' not understood

@ldane dont worry about the warnings. and no need to change your code. I will talk to team about these warning.

nvidia-smi doesn't exists in the container. Thus, I'm getting "bash: nvidia-smi: command not found"

I am concerned about that part. if your instance has GPUs available you should be able to get nvidia-smi result, I believe. Somehow your GPU(s) are not found in the docker.  Are you using any specific docker launch command?
@jperez999 what's your opinion here?

I've also tested with vanilla container image (merlin-pytorch:22.12). I'm getting a different error all together. I believe the vanilla container doesn't have db-dtypes? Should I create a new ticket for this?
TypeError: data type 'dbdate' not understood

No need for new ticket. I am trying to understand if you want to run your NVT pipeline on CPU?

@ldane, I have started looking into your issues. Something that concerns me is that you are hitting nvidia-smi doesn't exists in the container. Thus, I'm getting "bash: nvidia-smi: command not found" if you are using the merlin-pytorch:22.12 do you not start your container with the --gpu flag? The error you are hitting has to do with the fact that your driver on the GPU needs to be updated. What kind of GPU are you running and what is you driver version. Usually when you hit that error numba.cuda.cudadrv.driver.LinkerError: [222] Call to cuLinkAddData results in UNKNOWN_CUDA_ERROR ptxas application ptx input, line 9; fatal : Unsupported .version X.X; current version is 'X.X' it is because the cuda toolkit and the GPU driver are not compatible. When you start the container do you see the following message:
==================================
== Triton Inference Server Base ==
==================================

NVIDIA Release 22.11 (build 48581223)

Copyright (c) 2018-2022, NVIDIA CORPORATION & AFFILIATES.  All rights reserved.

Various files include modifications (c) NVIDIA CORPORATION & AFFILIATES.  All rights reserved.

This container image and its contents are governed by the NVIDIA Deep Learning Container License.
By pulling and using the container, you accept the terms and conditions of this license:
https://developer.nvidia.com/ngc/nvidia-deep-learning-container-license

NOTE: CUDA Forward Compatibility mode ENABLED.
  Using CUDA 11.8 driver version 520.61.05 with kernel driver version 515.65.01.
  See https://docs.nvidia.com/deploy/cuda-compatibility/ for details.

Do you see this part?
NOTE: CUDA Forward Compatibility mode ENABLED.
Using CUDA 11.8 driver version 520.61.05 with kernel driver version 515.65.01.
See https://docs.nvidia.com/deploy/cuda-compatibility/ for details.

@jperez999 I've tried multiple approaches and finally I was able made it to work.
The entrypoint at /opt/nvidia/nvidia_entrypoint.sh needs to be executed.
Even though I'm at 22.12, the banner says 22.11. Since it is same as yours, I am assuming it is okay.
==================================
== Triton Inference Server Base ==
==================================

NVIDIA Release 22.11 (build 48581223)

Copyright (c) 2018-2022, NVIDIA CORPORATION & AFFILIATES.  All rights reserved.

Various files include modifications (c) NVIDIA CORPORATION & AFFILIATES.  All rights reserved.

This container image and its contents are governed by the NVIDIA Deep Learning Container License.
By pulling and using the container, you accept the terms and conditions of this license:
https://developer.nvidia.com/ngc/nvidia-deep-learning-container-license

NOTE: CUDA Forward Compatibility mode ENABLED.
  Using CUDA 11.8 driver version 520.61.05 with kernel driver version 510.47.03.
  See https://docs.nvidia.com/deploy/cuda-compatibility/ for details.

Fri Feb 17 13:43:21 2023
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 510.47.03    Driver Version: 510.47.03    CUDA Version: 11.8     |
|-------------------------------+----------------------+----------------------+
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|                               |                      |               MIG M. |
|===============================+======================+======================|
|   0  Tesla T4            Off  | 00000000:00:04.0 Off |                    0 |
| N/A   69C    P0    31W /  70W |     99MiB / 15360MiB |      6%      Default |
|                               |                      |                  N/A |
+-------------------------------+----------------------+----------------------+

+-----------------------------------------------------------------------------+
| Processes:                                                                  |
|  GPU   GI   CI        PID   Type   Process name                  GPU Memory |
|        ID   ID                                                   Usage      |
|=============================================================================|
|    0   N/A  N/A      4272      C                                      97MiB |
+-----------------------------------------------------------------------------+

I've also tested with vanilla container image (merlin-pytorch:22.12). I'm getting a different error all together. I believe the vanilla container doesn't have db-dtypes? Should I create a new ticket for this?
TypeError: data type 'dbdate' not understood

No need for new ticket. we can address it here. I am trying to understand if you want to run your NVT pipeline on CPU?

No, I'm not. This error appears right at the beginning of my ETL.
I've created a sample example to demonstrate. BigQuery client is creating fields as custom dtypes from db-dtypes.

test.parquet.zip

@ldane glad that you could solve the issue. can you now run your NVT pipeline without any problems?

@ldane yes, that is correct. We are using a pre built container to create our base container that has already been released so it is always one version behind. 22.11 is what you should see. And you cannot remove the entrypoint we have created. If you do, the user drivers will not execute and you might run into stability issues because of the mismatch of cuda toolkit and driver (like what you experienced).

@ldane I don't see an error in your last post?

@ldane glad that you could solve the issue. can you now run your NVT pipeline without any problems?
No, I was only be able to solve nvidia-smi problem.

ListSlice is broken in 22.12, even on vanilla container image. I'm attaching a reproducible notebook.
ListSlice-bug.ipynb.zip

@ldane I don't see an error in your last post? Does it have to do with the dtype of the column?

Yes, I'm showing the dtype of the column. If you can try to load that parquet file with NVTabular, you will came across the TypeError.

@ldane I am not able to reproduce your ListSlice error at my end. I ran your notebook and it worked fine for me. here is the screenshot..

are you able to import cudf and dask_cudf properly? do other ops like  Categorify()  and only GroupBy work you? can you remove ListSlice and test that as well..

@ldane I don't see an error in your last post? Does it have to do with the dtype of the column?

Yes, I'm showing the dtype of the column. If you can try to load that parquet file with NVTabular, you will come across the TypeError.

@ldane I can also repro this but this is I think not NVT issue.. I cannot read this parquet file with pandas either. I get TypeError: data type 'dbdate' not understood error with pandas as well..
can you cast this dtype to something else when you are creating these parquet files.. you can convert them to integer timestamps before saving them as parquet files?  Then you can convert them back to datetime object in NVT workflow, if you want.

are you able to import cudf and dask_cudf properly? do other ops like Categorify() and only GroupBy work you? can you remove ListSlice and test that as well..

I've tested without ListSlice, and everything is working as supposed to. I was hoping that you could reproduce on your end.

@ldane I don't see an error in your last post? Does it have to do with the dtype of the column?

Yes, I'm showing the dtype of the column. If you can try to load that parquet file with NVTabular, you will come across the TypeError.

@ldane I can read your parquet file with cudf.read_parquet('test.parquet') and I can see that the feed_date dtype as datetime64[s]. Please see the toy example below with your test.parquet dataset.

but cannot read this parquet file with pandas. I get TypeError: data type 'dbdate' not understood error with pandas as well..

Are you on 22.12? Could you check if you have db-dtypes installed?
I've tried both NVTabular as well as dask_cudf. I'm getting TypeError on both cases. If we can't solve it, I can look into possible work around as you suggested.

are you able to import cudf and dask_cudf properly? do other ops like Categorify() and only GroupBy work you? can you remove ListSlice and test that as well..

I've tested without ListSlice, and everything is working as supposed to. I was hoping that you could reproduce on your end.

ListSlice work for me.  I am using merlin-pytorch:22.12 container.

Yes I am using merlin-pytorch:22.12. I dont see db-dtypes in the pip list, not sure how you check if it is installed.  But  I can read your test.parquet. I cannot reproduce your error.  you can see the pip list output. I am attaching here.
pip_list.pdf

Yes I am using merlin-pytorch:22.12. I dont see db-dtypes in the pip list, not sure how you check if it is installed. But I can read your test.parquet. I cannot reproduce your error. you can see the pip list output. I am attaching here. pip_list.pdf
can you cast the dtype to something else before saving to parquet file?

@rnyak, Could you redirect pip freeze output to a text file? It will be easy for me to run a diff with text files. Could you also share all of your env variables?
pip.txt
env.txt

Yes I am using merlin-pytorch:22.12. I dont see db-dtypes in the pip list, not sure how you check if it is installed. But I can read your test.parquet. I cannot reproduce your error. you can see the pip list output. I am attaching here. pip_list.pdf
can you cast the dtype to something else before saving to parquet file?

@rnyak, Could you redirect pip freeze output to a text file? It will be easy for me to run a diff with text files. Could you also share all of your env variables?
pip.txt env.txt

@ldane hello. yes, I sent you them in a different thread.  are you able to run this notebook without any issue?  this notebook has ListSlice op.

@ldane hello. yes, I sent you them in a different thread. are you able to run this notebook without any issue? this notebook has ListSlice op.

@rnyak I've compared the pip output. You have only one extra package DLLogger. Most of the (important) environment variables are same. I'm suspecting my current environment variables might be leaking into container.
I'm still having the same error:

Are there a public environment that I could try to run this notebook? Is it possible to run this notebook on Google Colab?

@ldane  I noticed that  your  cuda driver version is lower than the expected version for rapids cudf for cuda toolkit 11.08.   Rapids team says CUDA 11.8 was not released at the time of the RAPIDS 22.08 release and was not "officially" supported for 22.08.
is there any chance for you to use cuda toolkit 11.4 and then use the driver version accordingly as in this doc systems requirements section.
The linked docs state:
One of the following supported versions:
CUDA 11.2 with Driver 460.27.03 or newer
CUDA 11.4 with Driver 470.42.01 or newer
CUDA 11.5 with Driver 495.29.05 or newer
CUDA 11.8 with Driver 520.61.05 or newer

@rnyak and @jperez999 After our discussion yesterday, I'm trying to update my kernel driver.
I'll write down our findings for future references. Even though I'm using a merlin-pytorch:22.12 container, the CUDA library talks with kernel driver. Since the kernel driver lives outside of the container, we need to make sure it is updated to a supported version.
My current development environment is based on Debian 10 (buster).
======================================
Welcome to the Google Deep Learning VM
======================================

Version: common-cu110.m102
Based on: Debian GNU/Linux 10 (buster) (GNU/Linux 4.19.0-23-cloud-amd64 x86_64\n)

And my NVIDIA driver outside of the container is 510.47.03:
NVIDIA-SMI 510.47.03    Driver Version: 510.47.03    CUDA Version: 11.6

I'm trying to figure out how the NVIDIA driver was installed.

@ldane would the steps here help: https://github.com/MarkMoTrin/merlin-install-gcp/blob/main/README.md
there is step for installing NVIDIA Driver + Docker + NVIDIA Docker Support.

@ldane would the steps here help: https://github.com/MarkMoTrin/merlin-install-gcp/blob/main/README.md
there is step for installing NVIDIA Driver + Docker + NVIDIA Docker Support. You need to choose the proper driver version for cuda toolkit 11.8.

@rnyak I looked at that page, but it seems to be outdated?
Could you explain more about the versions that I'm seeing?
That page is installing cuda_11.4.1_470.57.02.
Testing it with nvidia/cuda:11.6.2-base-ubuntu20.04.
Running merlin-tensorflow:22.12. (I'm assuming it has cuda:11.8 inside?)

@rnyak Could you verify that CUDA 11.8 is supported on Debian 10?

@ldane would the steps here help: https://github.com/MarkMoTrin/merlin-install-gcp/blob/main/README.md
there is step for installing NVIDIA Driver + Docker + NVIDIA Docker Support. You need to choose the proper driver version for cuda toolkit 11.8.

@rnyak I looked at that page, but it seems to be outdated?
Could you explain more about the versions that I'm seeing? That page is installing cuda_11.4.1_470.57.02. Testing it with nvidia/cuda:11.6.2-base-ubuntu20.04. Running merlin-tensorflow:22.12. (I'm assuming it has cuda:11.8 inside?)

This is not outdated. Cudf and Merlin can work with cuda toolkit 11.2+ based on the proper driver version installed. we preferred cuda 11.4 in this example (you can change it to 11.8 if you want), because that's what I am using on my local WS, and my colleague is also using on their local, and it works fine for us.

Could you verify that CUDA 11.8 is supported on Debian 10?

Hi @ldane yes, I am gonna ask this to the pertinent team but according to the docs, CUDA supports a single and latest Debian release version. For Debian release timelines, visit https://wiki.debian.org/DebianReleases.

@ldane hello. not sure you saw my msgs above. May I ask, if you can run a simple  NVT workflow. I want to be sure that the main issue is with ListSlice op, and therefore, related to calling a numba kernel.
are you able to run your NVT workflow, only with categorify and groupby ops without ListSlice? thanks.

@ldane would the steps here help: https://github.com/MarkMoTrin/merlin-install-gcp/blob/main/README.md
there is step for installing NVIDIA Driver + Docker + NVIDIA Docker Support. You need to choose the proper driver version for cuda toolkit 11.8.

@rnyak I looked at that page, but it seems to be outdated?
Could you explain more about the versions that I'm seeing? That page is installing cuda_11.4.1_470.57.02. Testing it with nvidia/cuda:11.6.2-base-ubuntu20.04. Running merlin-tensorflow:22.12. (I'm assuming it has cuda:11.8 inside?)

This is not outdated. Cudf and Merlin can work with cuda toolkit 11.2+ based on the proper driver version installed. we preferred cuda 11.4 in this example (you can change it to 11.8 if you want), because that's what I am using on my local WS, and my colleague is also using on their local, and it works fine for us.
As an example, this my cuda driver and cuda versions on my local WS:
NVIDIA-SMI 470.57.02    Driver Version: 470.57.02    CUDA Version: 11.4

when go to inside the docker image this is what I see:
 NVIDIA-SMI 470.57.02    Driver Version: 470.57.02    CUDA Version: 11.8

@rnyak I'm confused. Isn't this conflicting your previous message?
CUDA 11.8 with Driver 520.61.05 or newer
Are you suggesting that I should downgrade my driver to 470.57.02?

Could you verify that CUDA 11.8 is supported on Debian 10?

Hi @ldane yes, I am gonna ask this to the pertinent team but according to the docs, CUDA supports a single and latest Debian release version. For Debian release timelines, visit https://wiki.debian.org/DebianReleases.
according to the Table 1. Native Linux Distribution Support in CUDA 11.8 in the [doc](https://docs.nvidia.com/cuda/archive/11.8.0/cuda-installation-guide-linux/index.html), I see Debian 11.4 Distribution.

I'm currently on version M102. I believe M104 is released recently. I'll check if that is based on Debian 11.

@ldane can you pls add import cudf at the beginning of your notebook and run this NVT workflow example that includes ListSlice op? Let's see importing cudf at the start unblocks anything.
like this
import os
import glob

import numpy as np
import pandas as pd

import cudf

import nvtabular as nvt
from nvtabular.ops import *
from merlin.schema.tags import Tags

if that does not solve, can you add import cudf at the top of the ListSlice op cell? thanks.

@rnyak That solved the issue!

@ldane great to hear. can we close this ticket or do you have other issues to tackle with?

@rnyak I think we can close this ticket. Do you want to investigate that db-dtypes issue? If you do, do you want to create a new ticket or keep working here?

@rnyak I think we can close this ticket. Do you want to investigate that db-dtypes issue? If you do, do you want to create a new ticket or keep working here?

yes please create a new ticket for that. I am not able to repro the issue you are having but pls create a ticket.


FreeBSD arm64 missing uint128 type?

What version of Go are you using (go version)?

$ go version
go version go1.17 linux/amd64

Does this issue reproduce with the latest release?
Yes
What operating system and processor architecture are you using (go env)?
go env Output
$ go env
GO111MODULE=""
GOARCH="amd64"
GOBIN=""
GOCACHE="/home/andrew/.cache/go-build"
GOENV="/home/andrew/.config/go/env"
GOEXE=""
GOEXPERIMENT=""
GOFLAGS=""
GOHOSTARCH="amd64"
GOHOSTOS="linux"
GOINSECURE=""
GOMODCACHE="/home/andrew/go/pkg/mod"
GONOPROXY=""
GONOSUMDB=""
GOOS="linux"
GOPATH="/home/andrew/go"
GOPRIVATE=""
GOPROXY="https://proxy.golang.org,direct"
GOROOT="/home/andrew/.gvm/gos/go1.17"
GOSUMDB="sum.golang.org"
GOTMPDIR=""
GOTOOLDIR="/home/andrew/.gvm/gos/go1.17/pkg/tool/linux_amd64"
GOVCS=""
GOVERSION="go1.17"
GCCGO="gccgo"
AR="ar"
CC="gcc"
CXX="g++"
CGO_ENABLED="1"
GOMOD="/home/andrew/go/src/github.com/mcandre/gus/go.mod"
CGO_CFLAGS="-g -O2"
CGO_CPPFLAGS=""
CGO_CXXFLAGS="-g -O2"
CGO_FFLAGS="-g -O2"
CGO_LDFLAGS="-g -O2"
PKG_CONFIG="pkg-config"
GOGCCFLAGS="-fPIC -m64 -pthread -fmessage-length=0 -fdebug-prefix-map=/tmp/go-build1711081068=/tmp/go-build -gno-record-gcc-switches"

What did you do?

Source: https://github.com/mcandre/gus/tree/ff3398ce9c54491977a2ec0492444dc4b370c216
Trace:
$ GOOS=freebsd GOARCH=arm64 go build cmd/gus/main.go
# golang.org/x/sys/unix
vendor/golang.org/x/sys/unix/ztypes_freebsd_arm64.go:400:12: undefined: uint128

What did you expect to see?
The FreeBSD arm64 port successfully build.
What did you see instead?
An error complaining that the registered ztypes for FreeBSD arm64 omit the important uint128 type.
Note that the 32-bit FreeBSD arm ztypes data set does include uint128. So it's strange for this to be missing from the arm64 edition.
$ GOOS=freebsd GOARCH=arm go build cmd/gus/main.go
$ ls main
main

Duplicate of #47870
Unlike many projects, the Go project does not use GitHub Issues for general discussion or asking questions. GitHub Issues are used for tracking bugs and proposals only.
For questions please refer to https://github.com/golang/go/wiki/Questions


fix(sentry): configure sentry before app instantiation

The lib call sentry.configure as part of starlite's on_app_init hook, but as sentry integration patch Starlite.__init__ (and other stuff too), it does not take effect for the app being instantiated. So we must configure sentry early, before on_app_init to ensure sentry's monkeypatching will be used.

Good catch! I've slightly refactored init_plugin module in #213, so may just need to rebase this on that once it is merged.
I'll create a 0.29 release branch and we can work into that.

Thanks again @gazorby !


Do not ask for annotations of class methods when interface is in use

Given the code
interface IFoo {
  method(p: string): string
}

export class Foo implements IFoo {
  method(s) {
    return s;
  }
}

Actual result:
8:   method(s) {
            ^ parameter `s`. Missing annotation

Expected result:
No errors
(all annotations are in the interface, no need to duplicate)
You can try

See https://github.com/facebook/flow/issues/3798

Yeah, it's the same, thanks


Reduce integration test run times

Changes
The TestDuplicatePodTaskRun test creates 50 pods every integration run (25 for v1beta1, 25 for v1alpha1).
On a successful test run in Pipelines' CI cluster this takes around 49 seconds. Locally
in a kind cluster a successful run takes 40 seconds. This commit reduces the number of pods created to 10 per integration run (5 for v1beta1, 5 for v1alpha1). This drops the run time to anything from 10 seconds locally to 21 seconds for the first run in our CI (v1alpha1) and 36 seconds for the second run (v1beta1).
TestStartTime takes 73 seconds in our CI and includes multiple 10 second sleeps. Reducing these to 2 seconds drops the test run time to 21 seconds.
Total time for an integration run drops from ~ 25 minutes to ~ 22 minutes.
Using this integration log for my "before" numbers: https://storage.googleapis.com/tekton-prow/pr-logs/pull/tektoncd_pipeline/4351/pull-tekton-pipeline-integration-tests/1455940433015214081/build-log.txt
Using this integration log for my "after" numbers: https://storage.googleapis.com/tekton-prow/pr-logs/pull/tektoncd_pipeline/4353/pull-tekton-pipeline-integration-tests/1456052547604189184/build-log.txt
Submitter Checklist
As the author of this PR, please check off the items in this checklist:

[x] Tests included if any functionality added or changed
[x] Follows the commit message standard
[x] Meets the Tekton contributor standards (including
functionality, content, code)
[x] Release notes block below has been filled in or deleted (only if no user facing changes)

Release Notes
NONE

/kind misc

/hold
waiting for results from changes to sidecar tests

The individual test times are shortened but the overall test run time is highly, highly variable. I'm trying a run now that won't execute the YAML examples in parallel with the other tests to see if it helps.

/hold cancel
I think that's all the feedback addressed, thanks a lot @bobcatfish !

workspace-in-sidecar again. hopefully will be resolved by https://github.com/tektoncd/pipeline/pull/4349

/test pull-tekton-pipeline-alpha-integration-tests

The integration tests hit a 1 minute timeout while running TestSidecarTaskSupport.  Interestingly the sidecar itself ran to completion; it was the step container that hit the timeout.  Possibly busy cluster preventing the step's process from getting any cpu time?
    sidecar_test.go:108: Creating TaskRun "sidecar-test-task-run-1"
    sidecar_test.go:114: Error waiting for TaskRun "sidecar-test-task-run-1" to finish: "sidecar-test-task-run-1" failed
    sidecar_test.go:146: Primary container has nil Terminated state or did not complete successfully. Actual Terminated state: &ContainerStateTerminated{ExitCode:2,Signal:0,Reason:Error,Message:,StartedAt:2021-11-05 15:35:39 +0000 UTC,FinishedAt:2021-11-05 15:36:35 +0000 UTC,ContainerID:docker://54e2efd0ad664c4b49aa98b2eb6d425f7e2d15fa7610dbe7b3857c28f86a1e5e,}
    sidecar_test.go:161: Either the primary or sidecar containers did not terminate

Alpha integration failed on the workspace-in-sidecar task.  It seems like any pod we spin up with multiple containers / processes seems to be at perpetual risk of failing.

/test pull-tekton-pipeline-integration-tests
/test pull-tekton-pipeline-alpha-integration-tests

Hmm, odd error failed this one. cannot use generate name with apply and error executing 'kubectl create': exit status 1.
Here's the full log snippet:
    init_test.go:135: Create namespace arendelle-p7vb5 to deploy to
    init_test.go:163: Verify SA "default" is created in namespace "arendelle-p7vb5"
    examples_test.go:144: exit status 1 Output: 2021/11/09 14:37:23 NOTICE!
        -----------------------------------------------------------------
        Passing kubectl global flags to ko directly is deprecated.

        Instead of passing:
            ko create ... --namespace=arendelle-p7vb5

        Pass kubectl global flags separated by "--":
            ko create ... -- --namespace=arendelle-p7vb5

        For more information see:
            https://github.com/google/ko/issues/317
        -----------------------------------------------------------------
        2021/11/09 14:37:24 Using base gcr.io/distroless/static:nonroot for github.com/tektoncd/pipeline/cmd/imagedigestexporter
        2021/11/09 14:37:24 Using base gcr.io/tekton-nightly/github.com/tektoncd/pipeline/git-init-build-base:latest for github.com/tektoncd/pipeline/cmd/git-init
        2021/11/09 14:37:25 Building github.com/tektoncd/pipeline/cmd/imagedigestexporter for linux/amd64
        2021/11/09 14:37:26 Building github.com/tektoncd/pipeline/cmd/git-init for linux/amd64
        2021/11/09 14:37:28 Publishing gcr.io/tekton-prow-6/tpipeline-e2e-img/imagedigestexporter-6e7c518e6125f31761ebe0b96cc63971:latest
        2021/11/09 14:37:28 existing blob: sha256:d11256aebf76d725bacc1698ed2360974762597bf1dfeb453d7aff2a320f1563
        2021/11/09 14:37:28 existing blob: sha256:e8614d09b7bebabd9d8a450f44e88a8807c98a438a2ddd63146865286b132d1b
        2021/11/09 14:37:28 existing blob: sha256:ec7dd97ae256bd6ed3c1994e17a1a3c487200a39c82668c12f56af27b96616b2
        2021/11/09 14:37:28 existing blob: sha256:1b165ac694f675d6a5ffeca65f677875a0314fecbc3a76ae0fd26b51c2277666
        2021/11/09 14:37:28 gcr.io/tekton-prow-6/tpipeline-e2e-img/imagedigestexporter-6e7c518e6125f31761ebe0b96cc63971:latest: digest: sha256:6b2da850592af55f642ea28fd1c1f339f04babea3768548658b6a1d862e46fb6 size: 956
        2021/11/09 14:37:28 Published gcr.io/tekton-prow-6/tpipeline-e2e-img/imagedigestexporter-6e7c518e6125f31761ebe0b96cc63971@sha256:6b2da850592af55f642ea28fd1c1f339f04babea3768548658b6a1d862e46fb6
        2021/11/09 14:37:29 Publishing gcr.io/tekton-prow-6/tpipeline-e2e-img/git-init-4874978a9786b6625dd8b6ef2a21aa70:latest
        2021/11/09 14:37:29 existing blob: sha256:ac3e2af1fa23678b856c49a69901b68c0e5c3d32a07bcce6581a00cbf5153c54
        2021/11/09 14:37:29 existing blob: sha256:836d89fcf4030cf95691ff36167f86b3042f405d34cede8e294c9c331caf78dd
        2021/11/09 14:37:29 existing blob: sha256:d11256aebf76d725bacc1698ed2360974762597bf1dfeb453d7aff2a320f1563
        2021/11/09 14:37:29 existing blob: sha256:a0d0a0d46f8b52473982a3c466318f479767577551a53ffc9074c9fa7035982e
        2021/11/09 14:37:29 existing blob: sha256:f63801898bbdd6a2e6b0e5463e3c409f333074bdca5c992c6e4c9467bc909407
        2021/11/09 14:37:29 existing blob: sha256:6004038c978aaf37e47524110d831942eaa1b7d6345ed1360c092d5a5bcf46c5
        2021/11/09 14:37:29 gcr.io/tekton-prow-6/tpipeline-e2e-img/git-init-4874978a9786b6625dd8b6ef2a21aa70:latest: digest: sha256:b20c8f07b7929b7e20cd8da15ab114b28ddba0b213c73d0d2db61be77f42402b size: 1328
        2021/11/09 14:37:29 Published gcr.io/tekton-prow-6/tpipeline-e2e-img/git-init-4874978a9786b6625dd8b6ef2a21aa70@sha256:b20c8f07b7929b7e20cd8da15ab114b28ddba0b213c73d0d2db61be77f42402b
        task.tekton.dev/unit-tests created
        task.tekton.dev/git-clone created
        task.tekton.dev/kaniko created
        task.tekton.dev/demo-deploy-kubectl created
        pipeline.tekton.dev/demo-pipeline created
        pipelinerun.tekton.dev/demo-pipeline-run-1 created
        error: from default-cluster-admin-: cannot use generate name with apply
        Error: error executing 'kubectl create': exit status 1
        2021/11/09 14:37:30 error during command execution:error executing 'kubectl create': exit status 1

/test pull-tekton-pipeline-integration-tests
/test pull-tekton-pipeline-alpha-integration-tests


fixed site crash when get_current_screen() returns null

Came across this error when using the wp_iframe()-function in a plugin.
As wp_iframe triggers the "admin_head"-action, but there will be no current screen, get_current_screen will return null. Therefore the site will crash when remove_help_tags is called.

Thanks @reiterbene !


Preserve whitespace and colon when textrole is preceded by common colon

@jaapio rebased, applied suggested changes, added unit tests. Please have another look


Homebrew website has invalid SSL cert, site without SSL informs users to curl to straight to bash

Looks like you're using a SSL cert for www.github.com rather than for http://brew.sh

Edit: Logged this here before realising that it probably wasn't the correct place...

The canonical URL is http://brew.sh not https://brew.sh

@ilovezfs that's not fantastic, especially for a website that tells users to curl a command straight into bash...

We're aware that we do not have SSL certificates for the brew.sh domain.
The fact that you manually typed in https:// and then had your browser note that the content is in fact on GitHub and the GitHub site uses a GitHub certificate is not the same thing as brew.sh having an invalid certificate, sorry.

I did not manually type it, that is your assumption.
I was taken there as the top search result when using a search engine, also although not in this case browsers are starting to ship with the option to use SSL first.
Security is especially important when dealing with a package manager, please take this seriously.

What search engine has "https://brew.sh" as the top result? That sounds like a bug in that search engine.

It doesn't sound like a bug, it sounds like good search engine behavior!
DuckDuckGo
Chrome 52.0.2793.0
OSX 10.11.5
Regardless, as I said, this is a package manager, please consider security, especially when you're suggesting that it's a good idea that users curl straight to shell from the internet, if they don't use SSL anyone could MITM that link of yours and people could be infected with malware etc...

@MikeMcQuaid @UniqMartin - your thoughts on users curling straight from an unencrypted website to their shell?

DuckDuckGo's top result is "http://brew.sh/" so it's your browser configuration.

... so why not fix the broken SSL cert?
Also, why are you ignoring my comments about telling users to curl to shell straight from an unencrypted website?

Yes, it would be nice if we had an SSL certificate for brew.sh. I understand that you'd like that to be the case. Feature request noted.
The fact remains, however, that the SSL certificate is not "broken" because there is no SSL certificate for brew.sh. The only reason you're seeing that is because something is coercing the URL to "https://brew.sh" which will then end up triggering GitHub to cough up a (valid) GitHub SSL certificate. The GitHub SSL certificate is not for the brew.sh, it's for the GitHub domain, and your browser then notes that the SSL certificate is not in fact for brew.sh, which is indeed true.
So again, the issue here is why is your browser ending up directing you to https://brew.sh

May I suggest that a warning is added to the website about curling blinding from websites to shell and perhaps providing users with the MD5/SHA sums of the downloaded file as some assurance that they haven't been compromised?

We're using GitHub Pages for our website. This is a known limitation of GitHub Pages when used with a custom domain. See this help article for details. SSL certificates cost money and/or require paid hosting with SSL support. We don't have a steady income that would currently allow us to pay for that.
There's ongoing discussion in Homebrew/homebrew.github.io#98 and that issue also links to previous discussions for context. Please read (all of) this and then see whether you can help us improve the situation. Practical suggestions and pull requests are welcome, but “spamming” this issue doesn't help resolve the problem—and yes, I agree that it is suboptimal that our website isn't served via HTTPS.

Giving up, message regarding curling to shell clearly not taken on board.

@sammcj posting a checksum for the install file doesn't sound unreasonable, though it would have to be updated every time there's a commit to https://github.com/Homebrew/install/
Note that the URL being curl'd actually is indeed using https
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

https://raw.githubusercontent.com/Homebrew/install/master/install is the GitHub raw content link for this file https://github.com/Homebrew/install/blob/master/install

If you don't trust http://brew.sh/, you can always get the instructions for the installer directly from the its repository (see the README) or clone our GitHub repository (see Alternative Installs for details).
If a website or some third party asks you to paste stuff into your terminal, you always have to be careful and understand what you are doing, no matter where you get that information from.

Giving up, message regarding curling to shell clearly not taken on board.

We didn't ignore this part of your issue and we're aware of the problem, as stated above. But we don't have a satisfying solution yet. If you can contribute to a solution, please do! But only complaining doesn't help get this resolved and unfortunately there's no such thing like “simply enabling HTTPS” …

@UniqMartin I'm still curious how in the world it's ending up at https://brew.sh if he's not manually entering that and DuckDuckGo is correctly pointing to http://brew.sh. I can't reproduce the issue with Chrome or DuckDuckGo locally, though.

@ilovezfs I suspect some browser plugin that alters the links locally. Maybe it's just checking whether the web server is responding at all to HTTPS requests and then gets fooled by GitHub Pages which in (my understanding) serve from the same web servers no matter if it's *.github.io or some custom domain.

Yup, a browser plugin is my guess, too. It would be nice to know which one in case this comes up again (and so it can be reported to the plugin developer!), since that's pretty broken behavior.

I agree. This information would be helpful to have.

@sammcj Life tip: messages provided with a patronising tone will generally not be taken on board.


Bug: Filtering Multiselect ignores order

Hi team,
So the js for filtering multiselect ignores order when associated_collection_cache_all is false.
Here's the setup:
Let's say our model has the following association:
has_many :facilitator_memberships, dependent: :destroy, inverse_of: :user
has_many :clubs, through: :facilitator_memberships

and our RA configuration has the following:
edit do
  field :name
  field :username
  field :email
  field :password
  field :clubs do
    associated_collection_cache_all true
    associated_collection_scope do
      Proc.new do |scope|
        scope = scope.order(:name)
      end
    end
  end
end

Keep in mind that associated_collection_cache_all is required to be true here otherwise the user is presented with an empty result set when they load the page.

Whereas I'd like them to see:

What's the problem?
Well, the js for the filtering multiselect stores the data about the options (id and content) in a hash and builds the options from that hash when a search is made.
This has the unfortunate side affect of dismissing the order initially put on the page when a search is made. IE:

What's the solution?
There are three solutions that I can look into:

I can turn off associated_collection_cache_all. As mentioned above, that has the side effect of making the interface extremely hard to use.

I can make my own interface for these fields and override it using the partial option.

I can patch RA so that the filtering multiselect works.

Option 1 is unacceptable to me. The user experience is paramount.
Option 2 is barely palatable. It is a bandaid solution.
I'd rather Option 3, so every page I have with these fields will maintain order.
Option 3: Fixing Filtering Multiselect
There's two ways I can fix the multiselect.

Maintain the current solution, but override the cache so that it stores order as well.
Get rid of the current solution, replace it with something simpler that shows/hides options based on whether they match the search params. Rather than building them all from scratch each search.

In my mind, solution 2 is the better option. The current solution has so much code to do such a tiny amount of work. There's no need to rebuild all the elements every time a search is made.
All you need to do is just search over the options and disable/hide them if they don't match the given parameters.
What I need from the maintainers
Before I invest some hours of work in this problem, I'd like to know that the solution I'm intending to implement will actually be considered for merging.
Further, I'd like to know what kind of test coverage you would expect for such a change.
Let me know.
These changes should be able to resolve this issue
EDIT
Another side effect of the current implementation is that order is ignored in the right box as well:

Fixed by #2412, thank you for detailed report.

Awesome. Thanks!


fix(lnd): do not require a single lnd process

Description:
There is no need to check wether an lnd process exists and prevent Zap from starting if so. We don't care if there is another process running. We only care that we can successfully start up our own process. If there is a conflict with another lnd process such as a port that we need already being in use we already handle this elsewhere in our code and we pass more detail to the error message the other way.
Motivation and Context:
The lnd process lookup is slow, unreliable, and not needed. Remove redundant code that adds unneeded dependencies and improve user experience.
How Has This Been Tested?

Start up an lnd process:

lnd --bitcoin.active --bitcoin.testnet --bitcoin.node=neutrino --neutrino.connect=mainnet1-btcd.zaphq.io

Then start up zap and verify that it gives you an error message, as before (actually we get more specific detail now)

Screenshots (if appropriate):
*Before:

After:

Types of changes:
Enhancement
Checklist:

[x] My code follows the code style of this project.
[x] I have reviewed and updated the documentation accordingly.
[x] I have read the CONTRIBUTING document.
[x] I have added tests to cover my changes where needed.
[x] All new and existing tests passed.
[x] My commits have been squashed into a concise set of changes.

Coverage increased (+0.05%) to 16.202% when pulling fa81760426ac1383ea9d6f60fbf5faacda19a979 on mrfelton:fix/remote-lnd-process-lookup into e6a9ce0c448cae01f55ac88875f95c4f286706da on LN-Zap:master.

Tested ACK fa81760


Update helper-methods.md

Though it can work both ways, I suppose using an array is more versatile and the way developers should do it anyway.
Merged.
Thank you! 👍


Question about GPL license checking

Here's my deny.toml:
[licenses]
deny = ["GPL-1.0-or-later"]

and Cargo.toml:
[package]
name = "cargo-deny-test"
version = "0.1.0"
edition = "2018"
license = "GPL-1.0"

I would expect cargo deny to reject this crate. However:
warning: license requirements satisfied

   ┌── cargo-deny-test 0.1.0 (path+file:///Users/judetaylor/.code/cargo-deny-test):4:12 ───
   │
 4 │ license = "GPL-1.0"
   │            ^^^^^^^ license expression retrieved via Cargo.toml `license`
   ·
 4 │ license = "GPL-1.0"
   │            ------- accepted: license is considered copyleft
   │
   = cargo-deny-test v0.1.0

Is this intended? Are these two GPL licenses actually considered distinct?

Ahh ok, looks like I actually need to get around to this TODO.
If you're concerned about copyleft licenses, you can also deny all of them, and if you want to be more granular, specifying 1 or more copyleft licenses as allow will allow only those specific ones, before it does the copyleft check.

Okay, tyvm for the response!

So to clarify, what you tried to do in your example would still not work, however, it would work if you swapped GPL-1.0-or-later with GPL-1.0 as GNU style licenses are now handled the same as all the other licenses, namely, it is the license holder's decision to say if their code can be licensed with a specific version eg. GPL-2.0-only or that version and all future versions GPL-2.0-or-later, and you as the licensee then say if you wish to license under eg. GPL-2.0 or GPL-3.0.
Hope this is clear, but I will update the README about these weird GNU licenses in a separate issue.


Preprocess tags to add synonyms to search index

Per #24, in order to support search improvements we want, like phrases and boolean queries, we need to scrap the synonym map and instead provide tag synonyms to the search index.

Or do I keep the synonym map for common searches and redirect searches that use a search syntax. Haystack had implemented a handler for field-specific searches, why couldn't I do something similar?

This was a dead-end. :no_good:


Major API Upgrade: Move to new GooglePhotos Library API

Moving to GooglePhotos Library API.
https://developers.google.com/photos/library/guides/overview

When you make this change, please consider moving to the use of a read only OAuth scope:
https://www.googleapis.com/auth/photoslibrary.readonly
(more info at https://developers.google.com/photos/library/guides/authentication-authorization)

That would be nice. It isn't available in the legacy API to restrict access.

Currently blocked on this issue: https://issuetracker.google.com/issues/113342106

If you'd like to see this feature, please star the Google issue above.

Thanks, commented on and starred the bug.


Refactor filestore package

What this PR does / why we need it:

Add Delete function
Update List to returns Object Attrs
Rename some functions

Which issue(s) this PR fixes:
Fixes #
Does this PR introduce a user-facing change?:

NONE

Cool improvements 👍
/lgtm

Nice work 🚀
/lgtm

/changelog


Missing compiled binaries for Windows OS in 2.4.0 release

Environment info

BlockMap version: 2.4.0
Java version: 17.0.2
Operating system: Windows

Description

Same as title. The binaries for Windows OS are not provided in the 2.4.0 release on GitHub.

Indeed. I don't have a Windows machine to build on, and the Windows CI went to hell because it was flaky (probably because of a lack of RAM in the runner).

I uploaded the windows jar to the latest release. Enjoy!


Specify minimum distance between two CTD stations

Since there's a hardcoded tolerance between the CTD and ship location, perhaps specify that multiple CTD stations below this tolerance will lead to problems?
https://github.com/OceanParcels/Virtual_ship_classroom/blob/b9a1dbffb1e0389bf02e14babfb732d677efa157/virtualship.py#L251

The same is true for the drifters and Argo deployments:
https://github.com/OceanParcels/Virtual_ship_classroom/blob/b9a1dbffb1e0389bf02e14babfb732d677efa157/virtualship.py#L266
https://github.com/OceanParcels/Virtual_ship_classroom/blob/b9a1dbffb1e0389bf02e14babfb732d677efa157/virtualship.py#L274

It doesn't apply for the argos and floats, because thats caught with the while loop and break. There I expect (and tested with) several within the tolerance.
For CTDs you're right...
It's a bit complex because the pyproj.Geod.inv function that computes the "travel route" doesn't work if the points are too close (<0.01) together. I'll add an else there that should solve this. Ask me to explain/discuss in person if you want.


Compile errors

I downloaded the source, ran npm install then ng serve
It returned ERROR in src/app/app.module.ts(5,32): error TS2307: Cannot find module 'ngx-tribute'.
I then ran npm i tributejs ngx-tribute
now it returns
ERROR in ./src/app/app.module.ts Module not found: Error: Can't resolve '/ngx-tribute-master/dist/ngx-tribute' in '/ngx-tribute-master/src/app'

Indeed, the docs where not fully correct. You need to run npm run build-lib before ng serve. I updated the docs. I'd recommend you to download a fresh repo ( as you made some changes in package.json by running npm i tributejs ngx-tribute ) and check if everything works now.

I'm still struggling getting this to run. When importing into an existing project. I've run npm i tributejs ngx-tribute added NgxTributeModule to imports but when running ionic serve I get
Uncaught Error: Template parse errors: Can't bind to 'ngxTribute' since it isn't a known property of 'input

Can I see a reproduction of this issue somewhere?

I started a new project and it compiled fine with no errors. It must be something to do with my current project. I'll close this for now.


Minor cleanups to Math.cbrt() etc

[ ] Make function pointers in math table conditional to DUK_USE_ES6 or replace them with duk__math_nop() when ES6 not enabled (footprint)
[ ] Extend Math.log2() 2^N testcase for all IEEE double exponents (separate testcase)
[ ] Precomputation for / DUK_LOG(2) and / DUK_LOG(10) in fallback path

> expect = 0; x = 1; while (x !== 1/0) { if (Math.log2(x) != expect) { console.log(x, Math.log2(x)); } x *= 2; expect++; }
1023
> expect = 0; x = 1; while (x !== 0) { if (Math.log2(x) != expect) { console.log(x, Math.log2(x)); } x /= 2; expect--; }
-1074

Don't forget to make Math.hypot() conditional too.

Regarding that test above, why do positive exponents only go up 1023 but negative exponents go to -1074?  Based on my (somewhat limited) knowledge of IEEE floating point representation I'd have thought it would be symmetric in both directions.

The exponent range doesn't but in the negative direction there are denormals which make up the difference.

Math.hypot() is already conditional and it's not part of the function pointer tables so it should already be OK.

Ah, that's right, I forgot it has its own function because it's vararg.


UserAccountsDrawerHeader initial direction of details arrow is inconsistent

The UserAccountsDrawerHeader details arrow initial direction is inconsistent. If I tap the hamburger menu to open a drawer with the header, the arrow appears pointing down. But if I drag to open the drawer, the arrow points up.
I think the problem was introduced in https://github.com/flutter/flutter/pull/24023. You can also observe the arrow rotating direction as the drawer drags open and close (might want to slow down animations to really see this).
[✓] Flutter (Channel google3, vnull, on Mac OS X 10.13.6 17G3025, locale en-US)
    • Flutter version null at //third_party/dart/flutter
    • Framework revision 7a88fbc5fd (6 days ago), 2018-12-20T00:00:00.000
    • Engine revision dbdb5e6f8c
    • Dart version f9ebf21297

[✗] Android toolchain - develop for Android devices
    ✗ Unable to locate Android SDK.
      Install Android Studio from: https://developer.android.com/studio/index.html
      On first launch it will assist you in installing the Android SDK components.
      (or visit https://flutter.io/setup/#android-setup for detailed instructions).
      If Android SDK has been installed to a custom location, set $ANDROID_HOME to that location.

[✓] iOS toolchain - develop for iOS devices (Xcode 10.0)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Xcode 10.0, Build version 10A255
    • ios-deploy 1.9.2

[✗] Android Studio (not installed)
    • Android Studio not found; download from https://developer.android.com/studio/index.html
      (or visit https://flutter.io/setup/#android-setup for detailed instructions).

[✓] IntelliJ IDEA Community Edition (version 2018.1)
    • IntelliJ at /Applications/IntelliJ IDEA CE.app
    • Flutter plugin version 24.0.2
    • Dart plugin version 181.4203.498

Hello @jklint-g, I tried to reproduce this issue with no luck. Could you double check that you're still seeing this problem. If so, could you provide some more details about steps to reproduce. Thank you!


Condense relationship example

Removes an example payload that seems to just draw out the Resource Relationships section without adding value (previously part of #425). Specifically, this case hardly needs to be illustrated:
"comments": {
  "related": "http://example.com/articles/1/comments"
}

Replaces the slightly puzzling statement

allows the client to change the related author without deleting the people object

with a more general one ("[...] the related author directly").

Spells out related resource URL.

Removes a mention about "current compound document", since resource linkage may or may not refer to an included resource.

:+1:

:+1:


Fixed image affinity examples in docs

Signed-off-by: Matt Bentley<EMAIL_ADDRESS>

fixes https://github.com/docker/swarm/issues/910

Thanks @mbentley! LGTM
/cc @thaJeztah @moxiegirl @SvenDowideit

thanks! nice find :)
LGTM

LGTM


[feature] Support reward history API

As @feraldruid22 and @nikolaglumac talked about the feature of reward history displaying on wallets(e.g. Daedalus) in Daedalus issue(https://github.com/input-output-hk/daedalus/issues/2347).
We might need this project to offer an API to implement the feature:

The number of staking rewards (at least the last 10 epochs) should be displayed in a table with the stake pool name so we can track the exact amount of rewards per epoch. Right now it is just an overall reward what you made.

Hi, this is unfortunately not possible due to the very nature of the wallet. In order to calculate rewards and reward history, one needs to maintain the entire ledger state. However, the wallet only has a user-centric view of the ledger state, that is, it only maintains UTxO that belongs to it.
Note that even the node / ledger isn't able to go as far back in the past. The UTxO is an ever evolving graph, and it gets folded along the way with every new block application. Maintaining an history of past UTxO state would be very costly on storage and memory. So the ledger keeps nothing more than what's necessary to accommodate chain forks and to calculate the leader schedule, but nothing beyond.
We've however discussed this feature several time within teams and this is something which would better be done by an explorer-like software, which has actually access to the entire chain history.


REQUEST: New membership for

GitHub Username
ViolaPioggia
Requirements

[x] I have reviewed the community membership guidelines (https://github.com/cloudwego/community/blob/main/COMMUNITY_MEMBERSHIP.md)
[x] I have joined to the Slack Channel and Feishu Group Chat (for Chinese)
[x] I am contributing (any of the following apply: issues, discussions, PRs, reviews) to 1 or more CloudWeGo repositories

List of contributions to CloudWeGo

PRs reviewed / authored
hertz :
https://github.com/cloudwego/hertz/pull/416
https://github.com/cloudwego/hertz-examples/pull/95
https://github.com/cloudwego/cloudwego.github.io/pull/639
https://github.com/cloudwego/hertz/pull/869
https://github.com/cloudwego/cloudwego.github.io/pull/789
https://github.com/cloudwego/cloudwego.github.io/pull/811
https://github.com/cloudwego/hertz-examples/pull/119
kitex :
https://github.com/cloudwego/kitex/issues/1140

Thank you for your contribution.

A code review can also be added, but it should be specified as a code review.

+1 Thank you for contributing to kitex and hertz, these features have been well received by real users. I hope you can contribute more features to cloudwego to help users.❤

+1 Welcome~

+1 Welcome~

+1 Welcome

Good job! Welcome~

+1 Welcome

+1👍🏻

Hi, your request has been reviewed by the CloudWeGo Hertz management team and passed with majority approval. Congratulations !
You have been invited to join CloudWeGo org and hertz-contrib org as a public member, as well as Hertz Committer Team in CloudWeGo. Your certificate is here.
Please check Responsibilities and privileges for more details.
Welcome to Join us !


Support Windows 21H1

This morning the Windows 21H1 update hit my laptop. It has not yet been published to Microsoft Docker repo, so we may want to wait before including this patch.

Ah, the 6-monthly march of progress (or May of progress)!
We definitely shouldn't change the type of the Cygwin constructor incompatibly. Equally, I think that once we're building a Cygwin image itself, we're going to want it multi-"arch" in the same way as the mingw/msvc images. So I think it's time to add type win10_update = [ V1809 | V1903 | V1909 | V2002 | V20H2 | V21H1 ] and win10_update_to_string and win10_update_of_string and use that for the  `Cygwin and  `Windows constructors.
The type may as well include all the previous releases so  `V1507 onwards (technically Windows 10 1507 was not an update, but we can live with that 😉). The string conversions could possibly codenames as well - i.e. "1507" or "Threshold 1", etc. The codename and version names are now in sync since 20H2.

I was thinking of adding that type.
I'd say we don't list updates that are not available as Docker images (the older ones). Are they going to be available in the future?

I think this is done, what do you think?


Fix CommonJS builds

You have separate CommonJS and EMS builds, but the CommonJS builds aren't CommonJS and cannot be used by CommonJS code.
Steps to reproduce:
const discordx = require("discordx");

if you run this on straight Node (tested on Gallium), it will fail:
$ node index.js
/projects/temp/node_modules/discordx/build/cjs/index.js:1
import "reflect-metadata";
^^^^^^

SyntaxError: Cannot use import statement outside a module
    at Object.compileFunction (node:vm:352:18)
    at wrapSafe (node:internal/modules/cjs/loader:1031:15)
    at Module._compile (node:internal/modules/cjs/loader:1065:27)
    at Object.Module._extensions..js (node:internal/modules/cjs/loader:1153:10)
    at Module.load (node:internal/modules/cjs/loader:981:32)
    at Function.Module._load (node:internal/modules/cjs/loader:822:12)
    at Module.require (node:internal/modules/cjs/loader:1005:19)
    at require (node:internal/modules/cjs/helpers:102:18)
    at Object.<anonymous> (/projects/temp/index.js:1:18)
    at Module._compile (node:internal/modules/cjs/loader:1101:14)

This changes the typescript compiler to output valid CommonJS so that it will work out of the box with CommonJS apps/pipelines downstream.
Packages

discordx
@discordx/music
@discordx/utilities

what was I thinking. I removed cjs tsconfig after tests and forget about changes required.

I have updated build code for cjs, could you please try again with node v16 and latest versions of discordx packages.

Confirmed working with commonjs (Node v16). At least this package. But it seems that discordjs/voice having the same troubles (which I see that you are very aware of that 😄).

Confirmed working with commonjs (Node v16). At least this package. But it seems that discordjs/voice having the same troubles (which I see that you are very aware of that 😄).

wait for https://github.com/discordjs/voice/pull/232

I am cleaning up package.json for all packages. so when you update to next version, please make sure all the important files are imported, specially outside build folder.


doc: thematicStyling option

Closes #297
Visual Studio Code did a lot of formatting on the file automatically on save which looks nice in the IDE. If it isn't wanted I could try sending a PR without all the formatting.

Sorry, I made you have conflicts by merging another PR first.

I think I would prefer the PR sans the formatting


Printing all compilation warnings out to console twice

This causes my compilation warnings to print out to stdout (without color) an extra time, in addition to the first time they print out from a regular cargo invocation.
How can I fix this?

It may be possible to pipe stderr of the forked rustc process, and discard the result. The linked code below deals with the creation of the std::process::Command. I'm pretty sure the stderr of the forked call isn't supposed to be emitted as is, but if you're having this issue obviously not.
https://github.com/Shizcow/caller_modpath/blob/73ae6e0e2e2faf0c475558b0309d2459eec9b1e8/caller_modpath/src/lib.rs#L198-L203


yoooooooooooooooooooooooooooooooooo

Describe the bug
guys, plase can you disable token-need for fixing bugs?
cause like i got the end of the script with 2 bugs and i have 0 tokens left and i can't fix them
like this is so annoying
i clicked resolve problem couple itmes but beacuse of lack of tokens it didn't do shit

Link to the Bolt URL that caused the error
https://bolt.new/~/sb1-ks2mq9
Steps to reproduce

remove token need to resolve problems.

Expected behavior
The ai should be able to fix issues without tokens
Screen Recording / Screenshot
No response
Platform
Browser name = Chrome
Full version = <IP_ADDRESS>
Major version = 131
navigator.appName = Netscape
navigator.userAgent = Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/<IP_ADDRESS> Safari/537.36
performance.memory = {
  "totalJSHeapSize": 51997857,
  "usedJSHeapSize": 48866085,
  "jsHeapSizeLimit":<PHONE_NUMBER>
}
Username = vzxrczdev
Chat ID = eba6fe0497f6

Additional context
No additional content.

Hi there,
Thanks for sharing your feedback! I understand how frustrating it can be when you're trying to resolve bugs but run out of tokens. Let me clarify a bit how Bolt’s AI-powered problem-solving works.
When the AI attempts to resolve an issue, it focuses on making targeted changes rather than rewriting the entire file. This approach ensures minimal disruption to your existing code. However, in some cases, this means that the AI might miss restoring certain parts of the file or add comments to explain its changes instead of rewriting the code fully.
To address this, Bolt has introduced a new DIV (Dynamic Intelligent Validation) feature. This allows the AI to modify files more effectively without needing to rewrite them entirely, preserving the original file structure and context. With this, you can now have more refined control over how changes are applied to your code.
If you're facing issues related to missing code or unresolved errors, you can explicitly ask the AI to "rewrite the file entirely," which ensures all necessary parts are regenerated properly. This option can be useful for scenarios where a more comprehensive fix is needed.
Best!


RFC: Brn Badge

Badge
Assesment

Time
Complexity
Risk
Description

2
3
0
Some styles, some logic, shouldn't be very hard :)

Dependencies
None
brn

API (proposed)
The badge directive would add a badge element to the dom & apply an aria-role of status to the parent element.
<button brnBadge="5">Click</button>

type BadgePosition = "above after" | "above before" | "below before" | "below after" | "before" | "after" | "above" | "below";

type BadgeSize = "small" | "medium" | "large";

Proposed inputs

Input
Type
Default
Description

brnBadge
string/number/null/undefined
empty_string
the badges content

brnBadgeDescription
string
empty_string
the description to add to the aria-describedBy

brnBadgeHidden
boolean
false
hides the badge - this could also be removed and simply done when badge content is null or undefined

brnBadgeOverlap
boolean
true
overlaps the badge on the parent element

brnBadgePosition
BadgePosition
'above after'
the position of the badge relative to the parent element

brnBadgeSize
BadgeSize
'small'
the size of the badge

hlm

Already implemented :) I'd just compose it with the proposed brn directive.
Aria

Roles, States & Properties
Radix doesn't seem to have a badge component, looking around the web I've seen role="status" being applied, which seems reasonable to me.
Angular material also uses a description attribute to add an aria-describedBy to the parent elemnt, which seems like a good approach.
aria-label can be used, but should be provided by the user.
Radix

N/A
shadcn

API
import { Badge } from "@/components/ui/badge";

<Badge variant="outline">Badge</Badge>;

Source
https://ui.shadcn.com/docs/components/badge

Hi,
Is it done? I would love to contribute with a little help.
Thanks,


Refresh map

I made an angular2 app that uses the angular2-highscarts directive. It works great but i want to be able to change info of the chart and render the new chart. However, when i run a test function to change the chart, the chart value changes but the new chart value is not rendered. How do i achieve this feature ?

Please read the FAQ

Oh sorry.

Could you point me in the right direction for changing the Axis text and refreshing the map ?

Sorry to be bugging you but stack overflow isn’t able to help me out. I’ve been reading the docs but i dont know why my chart is not changing. What’s wrong with the way im handling it ?
template: `
  <chart [options]="options"
         (load)="saveInstance($event.context)">
  </chart>
  <button (click)="test()">Test</button>
`

})
class AppComponent {
constructor() {
this.options = {
chart: { type: 'spline' },
title: { text : 'dynamic data example'},
yAxis: {
title: {
text: 'Tempature'
}
},
xAxis: {
categories: ["Monday","Tuesday","Wednesday"]
},
series: [{
data: [0,1,2]
}]
};
}
chart : HighchartsChartObject;
options: HighchartsOptions;
saveInstance(chartInstance) {
this.chart = chartInstance;
}
test(){
this.chart.xAxis = {
categories: ["Thursday","Friday","Saturday"]
} ;
this.chart.redraw();
}
}

You better ask it in the highcharts repo issues or stack overflow


Perf Improvement: use DXGI flip model

Description of the new feature/enhancement
A brief history
What is the flip model? What is the alternative?
Prior to Windows 7, the only way to present content from D3D was to "blt" or copy it into a surface which was owned by the window or screen. Beginning with D3D9’s FLIPEX swap effect, and coming to DXGI through the FLIP_SEQUENTIAL swap effect in Windows 8, we’ve developed a more efficient way to put content on screen by sharing it directly with the desktop compositor, with minimal copies.
This optimization is possible thanks to the DWM (Desktop Window Manager), which is the compositor that drives the Windows desktop.

Proposed technical implementation details (optional)
Review https://docs.microsoft.com/en-us/windows/win32/direct3ddxgi/for-best-performance--use-dxgi-flip-model and linked docs.

I think that the terminal is already using it:
https://github.com/microsoft/terminal/blob/f32761849f716db70248854b39160cf58c22ed8d/src/renderer/dx/DxRenderer.cpp#L431

Yup!


Indexer event query e2e

Description
https://mysten.atlassian.net/browse/SUI-1740
Test Plan
How did you test the new or updated feature?

If your changes are not user-facing and not a breaking change, you can skip the following section. Otherwise, please indicate what changed, and then add to the Release Notes section as highlighted during the release process.
Type of Change (Check all that apply)

[ ] user-visible impact
[ ] breaking change for a client SDKs
[ ] breaking change for FNs (FN binary must upgrade)
[ ] breaking change for validators or node operators (must upgrade binaries)
[ ] breaking change for on-chain data layout
[ ] necessitate either a data wipe or data migration

Release notes

Originally sent to Ge but posting for posterity
I originally thought to

Create NFT
Transfer NFT
and check the corresponding events. But for some reason I can't seem to be able to find the transfer object event. I'm pretty sure it should emit an event though, at least per the docs at https://docs.sui.io/devnet/build/event_api. So for now I've modified it to:
Create NFT
Create NFT
Transfer coin
The test checks for and expects only the 2 emitted Create NFT events, and then checks that Transfer NFT correctly transfers to recipient address.

Secondly, is there any particular reason why we don't include ClientCommands in the Cargo.toml? Was going to do something like ClientCommands::CreateExampleNFT but noticed that it's not a dependency on sui-indexer. It would make testing a bit more flexible as I think the util functions from test_utils::transaction are quite prescriptive.


JSON tests

I built a little doctest-cql supporting code to try this as a test style. These are basically glorified doctests, with the added benefit that they can be a CQL/json syntax reference.
I think it worked nicely for testing a CQL-impacting feature while it was in progress without concerning myself too much with a driver.
If others find the doctest style to be useful we can keep them this way, and possibly relocate the generic support code out of json_tests.py . If anyone dislikes this style of test or can find a good reason not to test this way, we can likely port these over with some work!

CC @riptano/cassandra_test_engineering
Apparently CASSANDRA-7970 finally got committed so I just realized today these tests can now be merged in. Let me know if you have any strong thoughts on the code, and sorry for the giant diff.

Here's a recent run of the json tests running successfully against c* trunk: https://cassci.datastax.com/view/All_Jobs/job/json_doctest_scratch/31/

What is the reasoning behind this format? Just simpler given that JSON is all string based? I like it so far, giving in an in-depth reading still.

Yeah, I wanted to test in a very literal way. I also wanted to prototype using tests as a CQL reference that's also executable to see if the idea catches on (we could also leverage this for any cqlsh tests that live in dtest). Didn't want to worry about the driver not being able to deal with the input/output nor depend on an unreleased driver version, or the driver possibly munging values before giving the data back.
Also it was easy to port over from the manual test plan I started with :)

I'm +1, but I think a second reviewer would be nice.

I'm +1. The tests look good, and I think this is a great testing ground for docstring-based tests.

yep, I like that Russ. Great work! +1


Refactor unsplash images feature

create reusable search component with unsplash api to use in multiple themes
fix inconsistent blur issue - https://github.com/rutikwankhade/CoverView/issues/29

#31


Shipping Instruction and Dangerous Goods

Hi, i'm working through implementing the DCSA standards as a base for a Forwarding platform, during this process to move towards adoption there are some things not covered in the Shipping Instruction dataset.
These are from real cases where data is flowing today using EDIFACT IFTMIN (shipping instruction) and the data comes from a shipper with instructions in Free Text (FTX segments in IFTMIN).  Most of these instructions are to outline expectations of the Bill of Lading and easily handled such as:

B/L must show the freight costs!
Date Shipped On Board should be mentioned in the consignee and notify box

BUT to migrate to using DCSA standards there are a few points missing mainly related to the dangerous goods elements as these are chemicals some are dangerous goods others are not.
So handling remarks such as:

B/L must show IMDG-class and UN number in case of dangerous goods cargo.

Are difficult as the Dangerous Goods don't appear as yet to be covered under 3.0.0-Beta-1 are there plans to include these as their own attributes in the DCSA IM and EBL or should we be adding them to the Marks or Descriptions fields?
For these DG bookings we also have to send paper DG Notes by email, so feel it would be a best to include in the DCSA IM, appreciate some topics are still a WIP but welcome thoughts on above.

Hi David,
Have a look at https://app.swaggerhub.com/apis/dcsaorg/DCSA_BKG/2.0.0-Beta-1#/Booking Request/post_v2_bookings (under Commodities -> dangerousGoods). It is indeed WIP but I believe it is a good indication of where we are going.


ui font alignment

Is this a BUG REPORT or FEATURE REQUEST?:

Uncomment only one, leave it on its own line:
/kind bug

What happened:

when type f12 will be happened.
What you expected to happen:
font should alignment
How to reproduce it (as minimally and precisely as possible):
when type f12 will be happened.
Anything else we need to know?:

this is ui bug, we will fix it  in next version, thanks for your issue. @withlin :clap:


Support for data-driven test cases with column headers

Currently, data-driven style test cases are not recognized as valid Robot syntax if they contain column headers.
This is correctly interpretted:
*** Settings ***
Test Template    Login with invalid credentials should fail

*** Test Cases ***
Invalid User Name                 invalid          ${VALID PASSWORD}
Invalid Password                  ${VALID USER}    invalid
Invalid User Name and Password    invalid          invalid
Empty User Name                   ${EMPTY}         ${VALID PASSWORD}
Empty Password                    ${VALID USER}    ${EMPTY}
Empty User Name and Password      ${EMPTY}         ${EMPTY}

This is valid Robot, but is highlighted as invalid by Intellibot:
*** Settings ***
Test Template    Login with invalid credentials should fail

*** Test Cases ***                USERNAME         PASSWORD
Invalid User Name                 invalid          ${VALID PASSWORD}
Invalid Password                  ${VALID USER}    invalid
Invalid User Name and Password    invalid          invalid
Empty User Name                   ${EMPTY}         ${VALID PASSWORD}
Empty Password                    ${VALID USER}    ${EMPTY}
Empty User Name and Password      ${EMPTY}         ${EMPTY}

Same requirement.

This is still the case in May 2019.


Use QGuiApplication, not QApplication, in qmlengine.rs

QtQuick requires a QGuiApplication. QApplication derives from
QGuiApplication, so it can do the job, but it creates an unnecessary
dependency on QtWidgets, which is undesirable for a QtQuick-only
application.

Note that to actually break the dependency on QtWidgets, DOtherSide also requires a small modification (DOtherSide PR).

@White-Oak Was it just the DOtherSide changes blocking this, our did you have other concerns that need addressing?

@Thra11 can you update the dotherside submodule?


Feature/admin add days to fast button

Feature
Add button to link to form that allows admin to add days by date to an existing fast.
This should speed up creation of weekly fasts (can duplicate an existing weekly fast, then add days with this form).
Testing
Try duplicating a weekly fast and adding a few days. Then save and add a few more. Check that they show up on the Fast's entry on the Fasts page, as well as that the Days show up associated with that weekly fast.

Yep welcome to Django admin. I fiddled with it on a work project once and gave up so I just accepted defeat this time.

Well, its no biggie. Should I merge?

Merged!


Multiple Errors and Tokens Getting Stuck

Players in my game are reporting that their tokens are occasionally getting stuck and are unable to be dragged to move (though they can still be moved with arrow keys. In each case, right before the token gets stuck they get the following error.
Uncaught (in promise) SocketlibUnregisteredHandlerError: Function '_socketUpdateCombatantDragRulerFlags' has not been registered as a socket handler.
    at SocketlibSocket._resolveFunction (socketlib.js:199)
    at SocketlibSocket.executeAsGM (socketlib.js:88)
    at updateCombatantDragRulerFlags (socket.js:14)
    at trackRays (movement_tracking.js:37)
    at DragRulerRuler.animateEntities (foundry_imports.js:101)
    at async DragRulerRuler.moveEntities (foundry_imports.js:41)

The next time they try to drag their token it will not move and they get another error.
Uncaught (in promise) TypeError: Cannot read property 'x' of undefined
    at foundry_imports.js:58
    at Array.map (<anonymous>)
    at DragRulerRuler.animateEntities (foundry_imports.js:51)
    at DragRulerRuler.moveEntities (foundry_imports.js:41)

Selecting and unselecting a token multiple times allows it to be dragged again, until the next time the error throws.

Update: Turning off 'Automatically start measuring' makes the problems go away.

Came here for the same thing!
foundry_imports.js:58 Uncaught (in promise) TypeError: Cannot read property 'x' of undefined
at foundry_imports.js:58
at Array.map ()
at DragRulerRuler.animateEntities (foundry_imports.js:51)
at DragRulerRuler.moveEntities (foundry_imports.js:41)

Uncaught (in promise) SocketlibUnregisteredHandlerError: Function '_socketRecalculate' has not been registered as a socket handler.
    at SocketlibSocket._resolveFunction (socketlib.js:199)
    at SocketlibSocket.executeForEveryone (socketlib.js:131)
    at recalculate (socket.js:38)
    at foundry_imports.js:101
| SocketlibError | @ | errors.js:3
-- | -- | -- | --
  | SocketlibUnregisteredHandlerError | @ | errors.js:38
  | _resolveFunction | @ | socketlib.js:199
  | executeForEveryone | @ | socketlib.js:131
  | recalculate | @ | socket.js:38
  | (anonymous) | @ | foundry_imports.js:101
  | Promise.then (async) |   |
  | animateEntities | @ | foundry_imports.js:101
  | async function (async) |   |
  | animateEntities | @ | foundry_imports.js:90
  | moveEntities | @ | foundry_imports.js:41
  | async function (async) |   |
  | moveEntities | @ | foundry_imports.js:20
  | onEntityDragLeftDrop | @ | main.js:237
  | entityType._onDragLeftDrop | @ | main.js:75
  | callback | @ | foundry.js:35929
  | _handleDragDrop | @ | foundry.js:36302
  | _handleMouseUp | @ | foundry.js:36272
  | a.emit | @ | index.js:181
  | r.dispatchEvent | @ | interaction.min.js:8
  | r.processPointerUp | @ | interaction.min.js:8
  | t.recursiveFindHit | @ | interaction.min.js:8
  | t.recursiveFindHit | @ | interaction.min.js:8
  | t.recursiveFindHit | @ | interaction.min.js:8
  | t.recursiveFindHit | @ | interaction.min.js:8
  | t.findHit | @ | interaction.min.js:8
  | r.processInteractive | @ | interaction.min.js:8
  | r.onPointerComplete | @ | interaction.min.js:8
  | r.onPointerUp | @ | interaction.min.js:8

I cannot reproduce this bug on my machine. What other modules apart from Drag Ruler do you have enabled? Does this bug still occur if all modules except Drag Ruler and socketlib are disabled? If so, can you make a video of this error occurring, so I can see exactly what's going on and how to trigger it?

I tracked it down to interference with the " FVTT Arms Reach" Module

I also run FVTT Arms Reach so that seems likely.

I used find the culprit, and it seems to no longer give that error when arms reach is not enabled.


uid/gidmapping + docker support

[x] try
[x] tests
[ ] c gidmapper
[ ] docs (mention that docker needs spawned privileged and is root in the ct) (also mention below)

Four tiers of uid/gid mapping

no gid mapping: Files are only accessible if the ownership is set to both current user's uid and gid.
unprivileged gid mapping: groups will look exactly the same inside and outside the container, the try will have access to things owned by things that one of user's group has access to aswell
privileged gid mapping: both a file's user and group ownership will also look and act exactly the same inside and outside try. (needs sudo, and try will have access to everything)
privileged uid mapping with -u set: id result will look the same. DANGER - USER WILL STILL BASICALLY HAVE ROOT PERMISSIONS!!!

# no mapping
ezri@pashsn3:~/try$ ./try ls -l try
-rwxrwxr-x 1 root root 21884 Feb 17 10:39 try

# unprivileged mapping
ezri@pashsn3:~/try$ ./try ls -l try
-rwxrwxr-x 1 root ezri 21884 Feb 17 10:39 try

# privileged mapping
ezri@pashsn3:~/try$ sudo ./try ls -l try
-rwxrwxr-x 1 ezri ezri 21884 Feb 17 10:39 try

# shell
ezri@pashsn3:~/try$ ls -l try
-rwxrwxr-x 1 ezri ezri 20263 Feb 17 10:42 try

# no mapping
ezri@pashsn3:~/try$ ./try id
uid=0(root) gid=0(root) groups=0(root),65534(nogroup)

# unprivileged mapping
ezri@pashsn3:~/try$ ./try id
uid=0(root) gid=1001(ezri) groups=1001(ezri),27(sudo)

# privileged mapping without user set
ezri@pashsn3:~/try$ sudo ./try id
uid=0(root) gid=0(root) groups=0(root)

# privileged mapping with user set
ezri@pashsn3:~/try$ sudo ./try -u ezri id
uid=1001(ezri) gid=1001(ezri) groups=1001(ezri),27(sudo)

# shell
ezri@pashsn3:~/try$ id
uid=1001(ezri) gid=1001(ezri) groups=1001(ezri),27(sudo)

sudo ./try -u ezri cat /etc/passwd will work
closes #140
closes #136

One other test to run: can a valid sudoer use sudo inside the container? (Feels good for running scripts that need to install things, but mostly are unprivileged.)


Localized strings aren't properly updated in a SystemKeyboard

The system keyboard doesn't update the text of its return/primary button. The space and "next language" buttons are properly localized, but that's because they are bound to observable data, while the rest don't change since localized information isn't observed.

Adding .id(keyboardContext.locale.identifier) to the view in setup(with:) solves the problem.


⚠ T:Riza Roblox Proxy has degraded performance

In cc37cac, T:Riza Roblox Proxy (https://rprxy.triza.dev) experienced degraded performance:

HTTP code: 200
Response time: 3588 ms

Resolved: T:Riza Roblox Proxy performance has improved in 60640ba.


Unify admin/user edit form with custom attributes.

An admin should not have to identify which is the correct submit
button to update user fields vs custom attributes.
Closes #256

Coverage decreased (-0.03%) to 84.366% when pulling daecfcf4f6d47fc753594d29774323e60c4099f6 on feature/unified-user-edit into 983aa20090f05b2e0ac69bc66422663ad784e592 on master.

Editing a user after this change has one form to edit a user!


Switch ThreadingTimeout for SignalTimeout

ThreadingTimeout can't block a long running regular expression, but SignalTimeout can.  Also this seems to work nicely within celery.

The code looks reasonable, but there are still two test failures (aside from flake8).

I see!  It turns out that signal only works with whole numbers of seconds, so I switched to whole numbers in our tests and that fixed everything. :)

Arg.  Just the flake8 errors.  Those should be cleaned up now.


license?

hey i like your structure here, i'm curious to dig into the code but wondered if you could throw a license on the project? mit or apache-2.0 maybe or something?

Good catch! Went ahead and slapped an MIT license on this.


pull request for e2e test at 12/03/2016 08:26:03

:white_check_mark: Validation status: passed
For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


[bug] Chains not shown for Connect Button if only one chain

Is there an existing issue for this?

[X] I have searched the existing issues

RainbowKit Version
0.12.8
wagmi Version
0.12.8
Current Behavior
The chain button that toggles switch chains dropdown would not show if there is only one chain available.
https://github.com/rainbow-me/rainbowkit/blob/main/packages/rainbowkit/src/components/ConnectButton/ConnectButton.tsx#L71C15-L71C15
Expected Behavior
It should be a configurable option to hide the button if there is only one chain available.
Otherwise we'd need to always rely on custom connect button to show the current chain.
Steps To Reproduce
No response
Link to Minimal Reproducible Example (CodeSandbox, StackBlitz, etc.)
No response
Anything else?
No response

@hsuanweifu-sports-inference You can hide the chain drop-down like so:
<ConnectButton chainStatus="none" />

@DanielSinclair this is not what I am asking. I want to show the chain status even if there is only one chain. Right now it will hide regard less of what you set for chainStatus due to only having one available chain.

@hsuanweifu-sports-inference I see. This was an intentional design choice because users still need to choose the network via their wallet, so seeing the current network via RainbowKit is duplicative. Can you share more about the expected usecase and UX goals, and why that functionality would be better? Chain switching as a concept is largely on its way out because of WalletConnect v2 and some the modern browser extension wallets, so dApps in the near future will be able to simultaneously connect to multiple networks.

@DanielSinclair
First of all, thank you for taking the time to respond to this ticket.
The goal is to have multiple environments (staging / prod) that's connected to (Testnet / Mainnet) respectively. The users will be redirected to staging (Testnet) environment if their current region is blacklisted.
We want to show the current chain on the page as some wallets (such as MagicLink) do not have an interface for the user to view and change chain.

@hsuanweifu-sports-inference If there is only "one" chain configured in your dApp can you use wagmi's switch chain hook instead ?
We can help by adding a prop to <RainbowKitProvider /> to always show the chains, even if you set up just one, but i would need to think about it.
But yeah if you only have one chain configured you can avoid opening the chain modal and use wagmi's switch chain hook instead which would be much simpler. Would that fix your problem?

@hsuanweifu-sports-inference Hey just catching back here again. Any updates on this ?

@KosmosKey I think the main issue is to show the current chain on the connect button regardless of how many chains are available. We are using <ConnectButton.Custom> to build a custom button with the chain icon.
The ability to switch chain is not important for this particular use case.
Thank you.

@hsuanweifu-sports-inference Thanks for this suggestion! We'll work on a prop to always show the current chain. We'll add this upstream in our new RainbowKit v2 version which launches this week. Check back soon there!

Is this feature added to version 2? If not, please let me know how I can contribute.

@ITZSHOAIB This is not available yet no. This is something that we'll do, but if you're interested in contributing feel free to follow this README.md.


Forward errors from nested query

Based on the code nearby it just seems like an accidental omission that the errors are not carried forward for *Query when constructing a new Query.
Fixes #22

Hey thanks for doing this! It looks right to me. I'll merge this and do some testing before tagging a new release (after work).


chore(ContextHeader): remove non-released component

Contributes to #1385
ContextHeader has not been released, and probably won't be because it's not a PAL pattern now. The component has been added to CDAI to allow production use of it where needed, so it's no longer required in this package.
This PR doesn't affect any released components, so can be reviewed and merged without waiting for v1.
What did you change?
How did you test and verify your work?

Although we don't need to wait for v1 for this, since v1 is imminent maybe hold off the merge until we build v1 just to be on the safe side.


Remove param_set cache from thermo states

This PR removes the param_set cache from thermodynamic states. This is a pretty big API / breaking change, however, it will allow us to capture thermodynamic states, which seems like it will be both necessary and handy (we'll be able to make Thermo state fields, and hopefully remove several aux fields as a result).
I think that this PR and #91 will help shrink #83 into a more isolated PR.
@trontrytel, any idea on the blast radius this will have in Microphysics?

bors r+

bors r-

bors r+

bors r-

bors r+


Simplify the method createViewHolder in IFlexible

This will have an impact of the current implementation.
Layout inflation will be done by the Adapter and the delegated method createViewHolder() will receive the inflated View and the Adapter. It will simplify the ViewHolder creation by the user.

From the next snapshot you will have to adapt the method createViewHolder() in ALL of your IFlexible implementation:
The IFlexible interface now wants you implement as following:
@Override
public MyViewHolder createViewHolder(View view, FlexibleAdapter adapter) {
	return new MyViewHolder(view, adapter);
}

How to support databinding in view holders now? In previous version i could inflate the view myselft creating databinding class and provide it to ViewHolder. Something like this:
@Override
public ViewHolder createViewHolder(FlexibleAdapter adapter, LayoutInflater inflater, ViewGroup parent) {
    ItemReminderBinding binding = DataBindingUtil.inflate(inflater, getLayoutRes(), parent, false);
    return new ViewHolder(binding, adapter);
}

@Override
public void bindViewHolder(FlexibleAdapter adapter, ViewHolder holder, int position, List payloads) {
    holder.getDataBinding().setVariable(BR.item, reminder);
    holder.getDataBinding().executePendingBindings();
}

It this possible after in current version?

@dozd, I believe https://developer.android.com/reference/android/databinding/DataBindingUtil.html has something with the View. Isn't it?

Ach, thx, i'll try it


Failed to install 'cordova-background-geolocation-plugin': TypeError: Cannot read properties of undefined (reading 'id')

When installing the plugin, it throws the following error:
Failed to install 'cordova-background-geolocation-plugin': TypeError: Cannot read properties of undefined (reading 'id')
    at registerConflict (/Users/mark/workspace/todn_app_2.0/node_modules/cordova-common/src/ConfigChanges/ConfigChanges.js:253:43)
    at /Users/mark/workspace/todn_app_2.0/node_modules/cordova-common/src/ConfigChanges/ConfigChanges.js:278:34
    at Array.forEach (<anonymous>)
    at PlatformMunger._is_conflicting (/Users/mark/workspace/todn_app_2.0/node_modules/cordova-common/src/ConfigChanges/ConfigChanges.js:257:21)
    at PlatformMunger.add_plugin_changes (/Users/mark/workspace/todn_app_2.0/node_modules/cordova-common/src/ConfigChanges/ConfigChanges.js:106:59)
    at /Users/mark/workspace/todn_app_2.0/node_modules/cordova-common/src/PluginManager.js:121:33
    at _fulfilled (/Users/mark/workspace/todn_app_2.0/node_modules/q/q.js:854:54)
    at /Users/mark/workspace/todn_app_2.0/node_modules/q/q.js:883:30
    at Promise.promise.promiseDispatch (/Users/mark/workspace/todn_app_2.0/node_modules/q/q.js:816:13)
    at /Users/mark/workspace/todn_app_2.0/node_modules/q/q.js:877:14
TypeError: Cannot read properties of undefined (reading 'id')
    at registerConflict (/Users/mark/workspace/todn_app_2.0/node_modules/cordova-common/src/ConfigChanges/ConfigChanges.js:253:43)
    at /Users/mark/workspace/todn_app_2.0/node_modules/cordova-common/src/ConfigChanges/ConfigChanges.js:278:34
    at Array.forEach (<anonymous>)
    at PlatformMunger._is_conflicting (/Users/mark/workspace/todn_app_2.0/node_modules/cordova-common/src/ConfigChanges/ConfigChanges.js:257:21)
    at PlatformMunger.add_plugin_changes (/Users/mark/workspace/todn_app_2.0/node_modules/cordova-common/src/ConfigChanges/ConfigChanges.js:106:59)
    at /Users/mark/workspace/todn_app_2.0/node_modules/cordova-common/src/PluginManager.js:121:33
    at _fulfilled (/Users/mark/workspace/todn_app_2.0/node_modules/q/q.js:854:54)
    at /Users/mark/workspace/todn_app_2.0/node_modules/q/q.js:883:30
    at Promise.promise.promiseDispatch (/Users/mark/workspace/todn_app_2.0/node_modules/q/q.js:816:13)
    at /Users/mark/workspace/todn_app_2.0/node_modules/q/q.js:877:14
Cannot read properties of undefined (reading 'id')

Cordova Packages:
cli: 11.0.0
    common: 4.0.2
    create: 4.0.0
    lib: 11.0.0
        common: 4.0.2
        fetch: 3.0.1
        serve: 4.0.0

Project Installed Platforms:
android: 10.1.2
ios: 6.2.0

I have no clue what can cause this.
I'm installing this plugin in a CI environment almost every day without any issues...
You'll need to better check if there's something off with your env...

Hi @HarelM !
I think the issue comes from the plugin.xml file : the blank line before the  tag can be a problem.
I hope this will help you.
Regards,

I confirm my previous hypothesis.
I add the plugin to my project and I get the same error as @markdegrootnl .
Then I remove the Cordova Android platform, I remove the blank line from the plugin.xml file, add the Android platform again and now it works.

2.0.9 released.

Just saw this error in the current version. Same as above. Only way I could fix was remove android and then then add android.


Model averaging description table

When trying to run the code exporting description table (around line 620 of the main script), received this error (not sure if it is just me)
Error in data.frame(variable = as.character(var_verbose), description = as.character(var_desc),  :
arguments imply differing number of rows: 1, 0
In addition: Warning message:
Unknown or uninitialised column: var_name_description.
It works fine after adding the line right before the call (I assume the error is just a mismatched name)
######Modified part#######
var_list$var_name_description <- var_list$Description
#MA variable description table
...(etc)

Yeah, it seems to be a name mismatch. In the readme for the getMAVariablesDescriptionTable function, you can see the return object description
#' @return [data.frame] A data frame that contains the following columns: 'Variable',
#' Description', 'Mean', 'SD'. 'Variable' corresponds to 'var_name_verbose' from the 'input_var_list',
#' Description' corresponds to 'var_name_description' from the 'input_var_list',
#' 'Mean' and 'SD' are the mean and standard deviation of the variable in 'bma_data'.

So the original name, var_name_description, is wrongly expected in the return object of the getMAVariablesDescriptionTable, where Description is used instead.
I'll try to get it cleaned up, thanks for the heads up.


Native implementations?

I was thinking of forking pause to build a module that'll use native facilities (eg, timer_create() on POSIX) when available.
Would you be amenable to merging that into pause or should I fork?

Yeah, I'd absolutely take pull requests into this library.


cosmit +  n_samples isues corrected in README

This is to improve the README, and correct some minor error (wrong n/n_samples factor in the objective)

thx @josephsalmon


rename reva to proxy where applicable

fixes #673

https://drone.owncloud.com/owncloud/ocis/2394/17/4
/bin/sh: ocis/bin/ocis: not found

https://drone.owncloud.com/owncloud/ocis/2394/17/4
/bin/sh: ocis/bin/ocis: not found

Not sure what happened there. Seems that the communication between the agent and the cache was not working...
level=error name=drone-cache ts=2020-12-18T16:39:58.201276107Z caller=main.go:587 err="[IMPORTANT] build cache, rebuild failed, upload from <ocis/bin/ocis> to <ocis/owncloud/ocis/51b97052402bd12a11aa2651b5ca157356ac9bb1-2394/ocis-binary-amd64_build_artifact_cache/ocis/bin/ocis>, upload file, pipe reader failed, put the object, MultipartUpload: upload multipart failed\n\tupload id: 2abfb3d4-92e4-48ed-bd0b-88c69978b7de\ncaused by: RequestCanceled: request context canceled\ncaused by: context deadline exceeded\n"


Track previews of loaded pages

Currently, only clicking preview on an album will set the "previewed marker" to "true".
When album pages are loaded directly, they should also set the "previewed marker" to "true".
The major challenge for this feature is the fact that not all albums on a page will have the same domain and this will make using localStorage difficult. For example, on the moodhut discography, some albums are attached to https://penderstreetsteppers.bandcamp.com instead of https://moodhut.bandcamp.com. Sharing between subdomains is prohibited with browsers.
It looks like moving from localStorage and towards chrome.storage is the way to go.

chome.storage looks like it's the best choice for keeping track of pages. However, it is async and requires everything be done in callback. This will currently not work with the implementation.
However, the localstorage could be used as a buffer for page data. Basically, get/set callback for chrome.storage is exchanged with localstorage values on occasion.

additionally, chrome.storage will need a more complex data structure to get around the 512 entry limit.

Because of the complexity of chrome.storage--the async nature of it--and the fact that localstorage is already used:
chrome.storage should just be used to store when an album page is accessed. Then, when the label page is loaded, there should be an initial query of chrome.storage to update the preview state (cache update).

Each album/track page should have an indication of saving in the icons next to the wishlist toggle. That way, being on the page, you could select/unselect saving the preview state.

PR #20

done


[Task]: Handle back button / action on Android

Task description
Android back button or swipe action are closing the app, where it should go back in the router history.
Requirements
TBD
Acceptance criteria
TBD
Creation checklist

[X] I have assigned this task to the correct people
[X] I have added the most appropriate labels
[X] I have linked the correct milestone and/or project

Should be fixed before the beta starts. On my device, it not only closes the app: opening it again kicks me out a second time after entering the PIN code. Some testers have also complained about this.

Yes you right we can implement it before beta release, the issue with the second login it's related to a problem with the bindings plugin, I will add the respective task.


classification SHREC for split 10

hi,
While running for split 10 classification on SHREC do we need to change the batch_size to 10 or there are some other settings? shrec16 has 16 training samples for each class, do we need shrec10 of 10 samples for each class?
Kind regards,
Rana Kamran

Hi @kamran-afzal ,
We followed the setup described in (GWCNN)[https://people.csail.mit.edu/jsolomon/assets/GW_for_CNN.pdf] (see Table 1). Shrec10 vs. Shrec16 is the train / test split. Where Shrec16 is 16 examples in the train and 4 in the test, and Shrec10 was 10 / 10. The batch size and all the other settings we used were the same for shrec16 and shrec10. You can just run the code as show here :
https://github.com/ranahanocka/MeshCNN/blob/29c30a4d6dee123cacbb662e3f5666420c0e94c5/scripts/shrec/train.sh#L3-L14

thanks for your kind reply.