Rezarring an opened dataset with object dtype fails due to added filter

What happened?
I am trying to save an xr.Dataset that I read  and processed from another saved zarr file. But it fails with this error
numcodecs/vlen.pyx in numcodecs.vlen.VLenUTF8.encode()
TypeError: expected unicode string, found 3

It seems like the first time the dataset is saved, xarray/zarr is adding a VLenUTF8 filter to the encoding of one of the dimensions. If I pop the filters key from the opened dataset I can resave the file.
I can also safely save to netcdf (which makes sense since this encoding is probably ignored then).
What did you expect to happen?
I should be able to open and resave a file to zarr.
Minimal Complete Verifiable Example
import xarray as xr
import numpy as np
da= xr.DataArray(np.array(['126469-423', '130042-0-10046', '120259-10343'], dtype='object'), dims=['asset'], name='asset')

da.to_dataset().to_zarr('~/Downloads/test.zarr', mode='w')
# Fails with the error below
opened = xr.open_zarr('~/Downloads/test.zarr')
opened.to_zarr('~/Downloads/test2.zarr', mode='w')

# Saves successfully
opened.asset.encoding.pop('filters')
opened.to_zarr('~Downloads/test2.zarr', mode='w')

MVCE confirmation

[X] Minimal example — the example is as focused as reasonably possible to demonstrate the underlying issue in xarray.
[X] Complete example — the example is self-contained, including all data and the text of any traceback.
[X] Verifiable example — the example copy & pastes into an IPython prompt or Binder notebook, returning the result.
[X] New issue — a search of GitHub Issues suggests this is not a duplicate.

Relevant log output
TypeError                                 Traceback (most recent call last)
<ipython-input-16-b1f2f1d2b5a0> in <module>
      6 opened = xr.open_zarr('~/Downloads/test.zarr')
      7
----> 8 opened.to_zarr('~/Downloads/test2.zarr', mode='w')

~/micromamba/envs/xr/lib/python3.8/site-packages/xarray/core/dataset.py in to_zarr(self, store, chunk_store, mode, synchronizer, group, encoding, compute, consolidated, append_dim, region, safe_chunks, storage_options, zarr_version)
   2097         from xarray.backends.api import to_zarr
   2098
-> 2099         return to_zarr(  # type: ignore
   2100             self,
   2101             store=store,

~/micromamba/envs/xr/lib/python3.8/site-packages/xarray/backends/api.py in to_zarr(dataset, store, chunk_store, mode, synchronizer, group, encoding, compute, consolidated, append_dim, region, safe_chunks, storage_options, zarr_version)
   1668     writer = ArrayWriter()
   1669     # TODO: figure out how to properly handle unlimited_dims
-> 1670     dump_to_store(dataset, zstore, writer, encoding=encoding)
   1671     writes = writer.sync(compute=compute)
   1672

~/micromamba/envs/xr/lib/python3.8/site-packages/xarray/backends/api.py in dump_to_store(dataset, store, writer, encoder, encoding, unlimited_dims)
   1277         variables, attrs = encoder(variables, attrs)
   1278
-> 1279     store.store(variables, attrs, check_encoding, writer, unlimited_dims=unlimited_dims)
...
   2112         # check object encoding

numcodecs/vlen.pyx in numcodecs.vlen.VLenUTF8.encode()

TypeError: expected unicode string, found 3

Anything else we need to know?

Thanks @saschahofmann , closing as a duplicate.


building Dockerfile behind proxy / corporate firewall fails

When trying to run the command:
docker build --rm -t privatename/docker:registry .
docker fails to run the commands in the Dockerfile.   This is mostly because the build is happening behind a proxy/firewall.
I'd like to be able to build the image, not just pull a pre-built image, for testing/experiments and hacking.
Any suggestions?  I'm thinking of forking and making some changes to be able to support that.

Can you copy the output? What commands are failing?

It just hangs forever here:
docker build --rm -t forj/docker:registry .
Sending build context to Docker daemon 730.6 kB
Sending build context to Docker daemon
Step 0 : FROM ubuntu:14.04
 ---> 8eaa4ff06b53
Step 1 : RUN apt-get update     && apt-get install -y         swig         python-pip         python-dev         libssl-dev         liblzma-dev         libevent1-dev     && rm -rf /var/lib/apt/lists/*
 ---> Running in d87734f4d660

If I add a set -x -v to Step 1 command, I see this output:
docker build --rm -t forj/docker:registry .
Sending build context to Docker daemon 730.6 kB
Sending build context to Docker daemon
Step 0 : FROM ubuntu:14.04
 ---> 8eaa4ff06b53
Step 1 : RUN set -x -v ; apt-get update     && apt-get install -y         swig         python-pip         python-dev         libssl-dev         liblzma-dev         libevent1-dev     && rm -rf /var/lib/apt/lists/*
 ---> Running in c52924df14b5
+ apt-get update

I'm thinking things like http_proxy, HTTP_PROXY and apt.conf need to be configured to work through proxy.

Sure. How do you usually handle things? What happens if you try to run apt-get update on a bare ubuntu system from where you are?

Usually we set a proxy file in /etc/profile.d and configure apt.conf with proxy configuration.   Let me put a commit together on a copy of my repo to get your thoughts.  Shouldn't take long.

@dmp42 this commit on my forked repo makes it much further now, https://github.com/wenlock/docker-registry/commit/81ca0f2b4567ba2cb81ed29895cab7baf8229bc7
Unfortunately, I'm still having a hickup on Step 8, it's complaining about being able to download Werkzeug.  Wondering if you've seen this one.
.... <log output removed>....
Step 8 : RUN . /opt/contrib/pip_options.sh     && pip install $PIP_OPTIONS file:///docker-registry#egg=docker-registry[bugsnag,newrelic,cors]
 ---> Running in fde2e9548adb
Unpacking /docker-registry
  Running setup.py (path:/tmp/pip_build_root/docker-registry/setup.py) egg_info for package docker-registry

  Installing extra requirements: 'bugsnag,newrelic,cors'
Requirement already satisfied (use --upgrade to upgrade): docker-registry-core>=2,<3 in /usr/local/lib/python2.7/dist-packages (from docker-registry[bugsnag,newrelic,cors])
Downloading/unpacking backports.lzma==0.0.3,!=0.0.4 (from docker-registry[bugsnag,newrelic,cors])
  Downloading backports.lzma-0.0.3.tar.gz
  Running setup.py (path:/tmp/pip_build_root/backports.lzma/setup.py) egg_info for package backports.lzma
    This is backports.lzma version 0.0.3

Downloading/unpacking blinker==1.3 (from docker-registry[bugsnag,newrelic,cors])
  Running setup.py (path:/tmp/pip_build_root/blinker/setup.py) egg_info for package blinker

Downloading/unpacking Flask==0.10.1 (from docker-registry[bugsnag,newrelic,cors])
  Running setup.py (path:/tmp/pip_build_root/Flask/setup.py) egg_info for package Flask

    warning: no files found matching '*' under directory 'tests'
    warning: no previously-included files matching '*.pyc' found under directory 'docs'
    warning: no previously-included files matching '*.pyo' found under directory 'docs'
    warning: no previously-included files matching '*.pyc' found under directory 'tests'
    warning: no previously-included files matching '*.pyo' found under directory 'tests'
    warning: no previously-included files matching '*.pyc' found under directory 'examples'
    warning: no previously-included files matching '*.pyo' found under directory 'examples'
    no previously-included directories found matching 'docs/_build'
    no previously-included directories found matching 'docs/_themes/.git'
Downloading/unpacking gevent==1.0.1 (from docker-registry[bugsnag,newrelic,cors])
  Running setup.py (path:/tmp/pip_build_root/gevent/setup.py) egg_info for package gevent

Downloading/unpacking gunicorn==19.1 (from docker-registry[bugsnag,newrelic,cors])
Downloading/unpacking PyYAML==3.11 (from docker-registry[bugsnag,newrelic,cors])
  Running setup.py (path:/tmp/pip_build_root/PyYAML/setup.py) egg_info for package PyYAML

Downloading/unpacking requests==2.3.0 (from docker-registry[bugsnag,newrelic,cors])
Downloading/unpacking M2Crypto==0.22.3 (from docker-registry[bugsnag,newrelic,cors])
  Running setup.py (path:/tmp/pip_build_root/M2Crypto/setup.py) egg_info for package M2Crypto

Downloading/unpacking sqlalchemy==0.9.4 (from docker-registry[bugsnag,newrelic,cors])
  Running setup.py (path:/tmp/pip_build_root/sqlalchemy/setup.py) egg_info for package sqlalchemy

    warning: no files found matching '*.jpg' under directory 'doc'
    warning: no files found matching 'distribute_setup.py'
    warning: no files found matching 'sa2to3.py'
    warning: no files found matching 'ez_setup.py'
    no previously-included directories found matching 'doc/build/output'
Requirement already satisfied (use --upgrade to upgrade): setuptools==5.8 in /usr/local/lib/python2.7/dist-packages (from docker-registry[bugsnag,newrelic,cors])
Downloading/unpacking bugsnag>=2.0,<2.1 (from docker-registry[bugsnag,newrelic,cors])
  Downloading bugsnag-2.0.2.tar.gz
  Running setup.py (path:/tmp/pip_build_root/bugsnag/setup.py) egg_info for package bugsnag

Downloading/unpacking Flask-cors>=1.8,<2.0 (from docker-registry[bugsnag,newrelic,cors])
  Downloading Flask_Cors-1.10.2-py2-none-any.whl
Downloading/unpacking newrelic>=2.22,<2.23 (from docker-registry[bugsnag,newrelic,cors])
  Running setup.py (path:/tmp/pip_build_root/newrelic/setup.py) egg_info for package newrelic

Requirement already satisfied (use --upgrade to upgrade): boto==2.34.0 in /usr/local/lib/python2.7/dist-packages (from docker-registry-core>=2,<3->docker-registry[bugsnag,newrelic,cors])
Requirement already satisfied (use --upgrade to upgrade): redis==2.10.3 in /usr/local/lib/python2.7/dist-packages (from docker-registry-core>=2,<3->docker-registry[bugsnag,newrelic,cors])
Requirement already satisfied (use --upgrade to upgrade): simplejson==3.6.2 in /usr/local/lib/python2.7/dist-packages (from docker-registry-core>=2,<3->docker-registry[bugsnag,newrelic,cors])

Downloading/unpacking Werkzeug>=0.7 (from Flask==0.10.1->docker-registry[bugsnag,newrelic,cors])
  Real name of requirement Werkzeug is werkzeug
  Could not find any downloads that satisfy the requirement Werkzeug>=0.7 (from Flask==0.10.1->docker-registry[bugsnag,newrelic,cors])
  Some externally hosted files were ignored (use --allow-external Werkzeug to allow).
Cleaning up...
No distributions at all found for Werkzeug>=0.7 (from Flask==0.10.1->docker-registry[bugsnag,newrelic,cors])
Storing debug log for failure in /root/.pip/pip.log
INFO[0181] The command [/bin/sh -c . /opt/contrib/pip_options.sh     && pip install $PIP_OPTIONS file:///docker-registry#egg=docker-registry[bugsnag,newrelic,cors]] returned a non-zero code: 1

Also, if i add --alow-external Wekzeug, i get a memory allocation failure
Downloading/unpacking Werkzeug>=0.7 (from Flask==0.10.1->docker-registry[bugsnag,newrelic,cors])
  Real name of requirement Werkzeug is werkzeug
  Running setup.py (path:/tmp/pip_build_root/Werkzeug/setup.py) egg_info for package Werkzeug
    Error [Errno 12] Cannot allocate memory while executing command python setup.py egg_info
Cleaning up...
Exception:
Traceback (most recent call last):
  File "/usr/lib/python2.7/dist-packages/pip/basecommand.py", line 122, in main
    status = self.run(options, args)
  File "/usr/lib/python2.7/dist-packages/pip/commands/install.py", line 278, in run
    requirement_set.prepare_files(finder, force_root_egg_info=self.bundle, bundle=self.bundle)
  File "/usr/lib/python2.7/dist-packages/pip/req.py", line 1229, in prepare_files
    req_to_install.run_egg_info()
  File "/usr/lib/python2.7/dist-packages/pip/req.py", line 325, in run_egg_info
    command_desc='python setup.py egg_info')
  File "/usr/lib/python2.7/dist-packages/pip/util.py", line 662, in call_subprocess
    cwd=cwd, env=env)
  File "/usr/lib/python2.7/subprocess.py", line 710, in __init__
    errread, errwrite)
  File "/usr/lib/python2.7/subprocess.py", line 1223, in _execute_child
    self.pid = os.fork()
OSError: [Errno 12] Cannot allocate memory

Storing debug log for failure in /root/.pip/pip.log
INFO[0165] The command [/bin/sh -c . /opt/contrib/pip_options.sh     && pip install $PIP_OPTIONS --allow-external Werkzeug file:///docker-registry#egg=docker-registry[bugsnag,newrelic,cors]] returned a non-zero code: 2

Mmmm... pip...
A couple of additional things - this here:
https://github.com/docker/docker-registry/issues/821
And this from pip:
https://github.com/pypa/pip/issues/1805
That error about werkzeug is weird.
Anything helpful in the pip.log itself?

Ok, I found that my local vm i was using for testing only had 512MB of ram.  I increased this to 1024M, and added options --alow-external Wekzeug  to my build.
That works now on my side with this commit:
https://github.com/wenlock/docker-registry/commit/5d274b6a3b5ba8d7404561b6f57c8a9085196cae
Any suggestions on both commits before it would be accepted in a pull request?

@wenlock - your efforts on this are just awesome - thanks a lot for going into this and fixing it.
I don't understand why werkzeg install would fail here (doesn't make sense), but that's OT.
For inclusion of this, the bottom line to me is: I would like to reduce as much as possible the added complexity into the dockerfile and would love to see a helper outside instead.
Do you think we can go with something like:
Dockerfile:
ENV http_proxy
ENV https_proxy
ENV HTTP_PROXY
ENV HTTPS_PROXY
ENV ftp_proxy
ENV socks_proxy
ENV no_proxy
ENV PIP_OPTIONS

[...]

pip install $PIP_OPTIONS bla
pip install $PIP_OPTIONS foo

Then we could just ship into contrib a helper script that would do sthing like below, without cramming it into the dockerfile:
if [ ! -z "$PROXY" ]; then
  export PIP_OPTIONS="--allow-external Werkzeug --proxy $PROXY"
  export HTTP_PROXY=$PROXY
  [...]
fi

and we would instruct people to just ./contrib/setup_proxy.sh foo_proxy then build as usual.
The question that remains is: do we need the apt-conf bits? or can apt-get live happily with the env vars?
What do you think?

Yep, I like that idea to make those ENV's.   I do think however the apt-get update simply won't work without an update to the apt.conf.   I've not been able to make it happy on my end.   I was hoping that maybe someone knew of a plugin kind of like vagrant-proxyconf that could be leveraged here.   I ran into a similar issue under vagrant and that seemed to work really smoothly.   Wondering how others have solved similar issues with broken proxy's on other dockerfile projects.    apt isn't the only config I believe either out there, but it's the one that matters to this particular Dockerfile.

Let's ping @tianon to find out :-)

Since Dockerfiles can't be parameterized, the cleanest way I've seen this handled is via transparent proxy in iptables (either for all traffic, or just for the mirrors you need explicit proxies for).

@tianon thanks for the input.  Yes, I think it would definitely be possible if corporate networking or services were modified.  Not always the case for teams though, and certainly not the case for me :<
@dmp42 I was also thinking last night, after looking at the storage drivers, that maybe there might be a way to integrate some pre-run actions in a similar way.  Maybe not.... still thinking on this for how we can keep the Dockerfile super trim.

Hello all,
Don't know if this is the right thread for this problem, but as it is definitely related to proxy usage, I submit it here:
I run this registry inside a private network that does not allow a direct access to the internet.
To make docker server aware of the proxy, I added:
export HTTP_PROXY=http://proxy:3128
export HTTPS_PROXY=http://proxy:3128
export NO_PROXY="*.my.domain.int, <IP_ADDRESS>/8"
in the /etc/sysconfig/docker file.
It works: I can run the registry directly by using the standard docker run command.
My problem comes later: as the registry is using a backend in S3, I also have to provide the same information into the container itself (and the S3 backend engine in particular) so the registry can actually connect the proxy to access the internet and the S3 bucket location.
Usually, the AWS python SDK is able to interpret same exported variables (HTTP_PROXY, HTTPS_PROXY, NO_PROXY). Would it be possible to enable to container to be passed these variables at start (-e HTTP_PROXY=...) ?
Thanks,

I also have the same problem, I cannot build my images inside the proxy.
I can build if I modify the Dockerfile by adding ENV http_proxy http://my-ip-number:3128/.
The problem with this is that then the Dockerfile cannot be used by someone not using a proxy.
A solution that I believe could work is if I was able to give environment variables to the build command, similarly to the way I give them to the run command.
# This allows http-client access to my local http proxy.
docker run --env http_proxy=http://<IP_ADDRESS>:3128/ my/http-client

# The same could work with build
docker build --env http_proxy=http://<IP_ADDRESS>:3128/ -t my/http-client .

What do you think?

I would love a solution as @andersjanmyr suggests.

@andersjanmyr  +1

+1

+1

+1

question, with the new network plugin features, does it make sense to create a proxy network plugin, or are there plans to fix this in some other way?

i think build --env could still have some usefulness as well but likely maybe a plugin would work better for the proxy use case.

@andersjanmyr +1
NTLM proxy is a real PITA and a build --env option would help a lot.
I haven't tried https://github.com/wtsi-hgi/docker-proxify yet but it should also solve the problem.

I've tried docker-proxify recently and it was a bit of a pain to use. One of the downsides seems to be that the version of docker bundled in the docker-proxify image is fairly old.

I tried it too yesterday and hit the same issue. It needs a refresh.

+1

+1

+1

We are doing ...
ENV http_proxy http://<IP_ADDRESS>:9999
ENV https_proxy http://<IP_ADDRESS>:9999
and at end of dockerfile ...
RUN unset http_proxy
RUN unset https_proxy

A solution might be included in release 1.9.0: https://github.com/docker/docker/issues/14634

:+1:

Docker now supports passing --build-env and I believe it's a good approach for HTTP proxies: https://docs.docker.com/engine/reference/commandline/build/#set-build-time-variables-build-arg

good job! @friism

Nice job indeed @friism , can we close this issue now :D

cool, i have the power

I have docker 1.12.0 and still unable to communicate to outside world thru corporate proxy - any thoughts?

@softwareklinic are you setting proxy variables and using them at build time?

Tried that i created a new image from.already pulped image by adding/passing.build arguments and i.could see the proxy.variables inside the container bash but still the curl could not connect to outside world.
Sent from my iPhone
On Jul 30, 2016, at 8:55 AM, Wes McNamee <notifications<EMAIL_ADDRESS>wrote:
@softwareklinichttps://github.com/softwareklinic are you setting proxy variables and using them at build time?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://github.com/docker/docker-registry/issues/890#issuecomment-236372930, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AHMCifMJee1BeAFfAzRUFdfhOpCjnlGVks5qa3PZgaJpZM4DPgfo.

Can you build if you hard code the env vars or explicitly use -x
parameter?
http://www.cyberciti.biz/faq/linux-unix-curl-command-with-proxy-username-password-http-options/
On Sat, Jul 30, 2016, 11:54 AM Keyur Shah<EMAIL_ADDRESS>wrote:

Tried that i created a new image from.already pulped image by
adding/passing.build arguments and i.could see the proxy.variables inside
the container bash but still the curl could not connect to outside world.
Sent from my iPhone
On Jul 30, 2016, at 8:55 AM, Wes McNamee<EMAIL_ADDRESS><EMAIL_ADDRESS>wrote:
@softwareklinichttps://github.com/softwareklinic are you setting proxy
variables and using them at build time?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub<
https://github.com/docker/docker-registry/issues/890#issuecomment-236372930>,
or mute the thread<
https://github.com/notifications/unsubscribe-auth/AHMCifMJee1BeAFfAzRUFdfhOpCjnlGVks5qa3PZgaJpZM4DPgfo>.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/docker/docker-registry/issues/890#issuecomment-236383019,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AA3JQLiXGyXZfu9bY3N4uZTtZ-7wkkefks5qa53WgaJpZM4DPgfo
.

--
Thanks,
Wes

Will try it out today
Sent from my iPhone
On Jul 30, 2016, at 12:23 PM, Wes McNamee <notifications<EMAIL_ADDRESS>wrote:
Can you build if you hard code the env vars or explicitly use -x
parameter?
http://www.cyberciti.biz/faq/linux-unix-curl-command-with-proxy-username-password-http-options/
On Sat, Jul 30, 2016, 11:54 AM Keyur Shah <notifications<EMAIL_ADDRESS>wrote:

Tried that i created a new image from.already pulped image by
adding/passing.build arguments and i.could see the proxy.variables inside
the container bash but still the curl could not connect to outside world.
Sent from my iPhone
On Jul 30, 2016, at 8:55 AM, Wes McNamee <notifications<EMAIL_ADDRESS>notifications<EMAIL_ADDRESS>wrote:
@softwareklinichttps://github.com/softwareklinic are you setting proxy
variables and using them at build time?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub<
https://github.com/docker/docker-registry/issues/890#issuecomment-236372930>,
or mute the thread<
https://github.com/notifications/unsubscribe-auth/AHMCifMJee1BeAFfAzRUFdfhOpCjnlGVks5qa3PZgaJpZM4DPgfo>.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/docker/docker-registry/issues/890#issuecomment-236383019,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AA3JQLiXGyXZfu9bY3N4uZTtZ-7wkkefks5qa53WgaJpZM4DPgfo
.

--
Thanks,
Wes
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://github.com/docker/docker-registry/issues/890#issuecomment-236384908, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AHMCiVOMfU69BYEkyAC__bb7PWQXnx5_ks5qa6SkgaJpZM4DPgfo.

I've encountered this impacting use of proxy related variables, and part of the it is that the behaviour between args and environment is not consistent.
Reading https://docs.docker.com/compose/compose-file/#/args and https://docs.docker.com/compose/compose-file/#/environment and defining a service with the following:
  jenkins:
    image: jenkins:latest
    build:
      context: ./jenkins
      args:
        - HTTP_PROXY
        - HTTPS_PROXY
        - NO_PROXY
        - http_proxy
        - https_proxy
        - no_proxy
    environment:
      - HTTP_PROXY
      - HTTPS_PROXY
      - NO_PROXY
      - http_proxy
      - https_proxy
      - no_proxy
      - JAVA_OPTS=-Djenkins.install.runSetupWizard=false
      - JENKINS_OPTS=--prefix=/jenkins

If you happen to only have http_proxy & https_proxy defined but not HTTP_PROXY & HTTPS_PROXY defined what you will see during the build is that HTTP_PROXY and HTTPS_PROXY are set to '', which causes anything checking the environment for these variables to assume that their existance means no proxy is defined, rather than moving onto checking the lowercase versions as well.
This can cause all sorts of opaque issues building with docker-compose behind proxies because the behaviour for the environment versions of these is different.
You could argue the software should check for both variations, however if you have an image built, and using the same unset/set variables listed above, and run docker-compose run -u root jenkins env you will not see HTTP_PROXY or HTTPS_PROXY appearing in the output.
This is because for environment:
    environment:
        - SOMEVAR

SOMEVAR is considered optional, and is only picked up from the environment of the user if defined.
It seems like it would be much better to have the behaviour of args and environment consistent, and since environment has been around for longer, I would suggest that following it's behaviour rather than changing environment to follow the newer behaviour of args will have less of an impact.
Perhaps it would be better if instead of having:
    build:
        args:
            - SOMEVAR

pass through a variable as being empty, require that someone provide '=', with nothing after it to indicate that it's intended to override with an empty value.
This would match the existing behaviour for environment, and avoid surprising behaviour.
Override SOMEVAR in Dockerfile only if defined in user environment:
    build:
        args:
            - SOMEVAR

OR
    build:
        args:
            SOMEVAR:

Override default value in Dockerfile with blank value
    build:
        args:
            - SOMEVAR=

or
    build:
        args:
            SOMEVAR: ""

Override default value in Dockerfile with different value
    build:
        args:
            - SOMEVAR=my_value

or
    build:
        args:
            SOMEVAR: my_value

it work for me
Client:
 Version:      17.05.0-ce
 API version:  1.29
 Go version:   go1.7.5
 Git commit:   89658be
 Built:        Thu May  4 22:10:54 2017
 OS/Arch:      linux/amd64

Server:
 Version:      17.05.0-ce
 API version:  1.29 (minimum version 1.12)
 Go version:   go1.7.5
 Git commit:   89658be
 Built:        Thu May  4 22:10:54 2017
 OS/Arch:      linux/amd64
 Experimental: false

docker build --build-arg http_proxy=http://my.proxy.url  --build-arg foo=bar
FROM busybox
RUN <command that need http_proxy>
ARG --description="foo's description" foo
USER $foo
MARK


GitHub Campus Advisor Program Next Steps

👋 Hello @jifbrodeur, your Campus Advisor training needs updates to assignment modules 2.2 and 4. Please complete those and we'll be happy to process your request for certification.
Once you have re-submitted the assignment, please reapply for the GitHub Campus Advisor program at https://airtable.com/shr6ZHMoHOb9kBupY

Hi, I resubmitted, I think I am all good now 😊
Thanks
Jean-François
From: Arelia Jones<EMAIL_ADDRESS>Reply-To: Campus-Advisors/campus-advisor-training-jifbrodeur<EMAIL_ADDRESS>Date: Tuesday, May 12, 2020 at 3:23 PM
To: Campus-Advisors/campus-advisor-training-jifbrodeur<EMAIL_ADDRESS>Cc: JiF Brodeur<EMAIL_ADDRESS>Assign<EMAIL_ADDRESS>Subject: [Campus-Advisors/campus-advisor-training-jifbrodeur] GitHub Campus Advisor Program Next Steps (#11)
👋 Hello @jifbrodeurhttps://github.com/jifbrodeur, your Campus Advisor training needs updates to assignment modules 2.2https://github.com/Campus-Advisors/campus-advisor-training-jifbrodeur/issues/6 and 4https://github.com/Campus-Advisors/campus-advisor-training-jifbrodeur/issues/10. Please complete those and we'll be happy to process your request for certification.
Once you have re-submitted the assignment, please reapply for the GitHub Campus Advisor program at https://airtable.com/shr6ZHMoHOb9kBupY
—
You are receiving this because you were assigned.
Reply to this email directly, view it on GitHubhttps://github.com/Campus-Advisors/campus-advisor-training-jifbrodeur/issues/11, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AHLR2VV636NHPL32F2F3VULRRGO4DANCNFSM4M7DJVUQ.


[Bug]-[48]:MsSQL plugin

Is there an existing issue for this?

[X] I have searched the existing issues

Description
A user reported that they are not able to connect with a named instance. A named instance looks like this: my_ip\name.
Ref: https://discord.com/channels/725602949748752515/760761686549463060/1002178664433197140
sorry, I can't share this environment, but it's quite easy to install a named instance of sql server
during the installation you can choose if you want a default instance, and the name will be the name or ip of the machine
or otherwise a named instance, in the form of hostname\instancename
it's this second options that I cannot make it work

Steps To Reproduce

Create a named MsSQL server
Try to connect and run query on the server.

Workaround
Named instances use dynamic port. A workaround is to use fixed port number by making the MsSQL server listen on a static port, then this port number can be used instead of the instance name.
Ref: http://woshub.com/change-default-port-number-tcp-1433-ms-sql-server-instance/
Public Sample App
No response
Version
self hosted
 Front conversations

Is there an existing issue for this?

[x]  I have searched the existing issues

Description
A user reported that they are not able to connect with a named instance. A named instance looks like this: my_ip\name. Ref: https://discord.com/channels/725602949748752515/760761686549463060/1002178664433197140
sorry, I can't share this environment, but it's quite easy to install a named instance of sql server
during the installation you can choose if you want a default instance, and the name will be the name or ip of the machine
or otherwise a named instance, in the form of hostname\instancename
it's this second options that I cannot make it work

Steps To Reproduce

Create a named MsSQL server
Try to connect and run query on the server.

Public Sample App
No response
Version
self hosted

@Nikhil-Nandagopal - I am just starting a trial of appsmith_ for our organisation and have come accross this issue immediately.  We use nothing but MS SQL named instances in our company and so not being able to connect to them halts any advancement we can make with the platform.  Please can you address this soon? I was really encouraged by this product but this is a significant issue for me :(

@mourantDavidSearle very sorry that we couldn't fix this issue earlier. We will be prioritizing it and likely fixing it within the next 2 weeks.

Thanks @sumitsum - I managed to get my own workaround by hardcoding the port used by the MS SQL named instance.  This at least meant I was able to begin bring data back. Look forward to trying the enhancement in a couple of weeks!

@mourantDavidSearle I have been unable to successfully set up a named MSSQL instance on a windows machine that is remotely accessible. Would it be possible for you to share a test credentials on<EMAIL_ADDRESS>?

@sumitsum - Sadly my work would not permit you to connect through our firewall.  You can setup a named instance of SQL using MS SQL Express on any Windows machine but if you can't gain access to one that its going to be difficult! Sorry, would help more if I could. Maybe if you had an Azure or AWS Windows box you could use that?

@mourantDavidSearle thanks a lot for the info :) . I will try again with MS SQL Express.

Usually it defaults to the localhost\SQLExpress and you can connect to the named instance that way. You also need to make sure the SQL Browser service is running too - but that should be enabled by default (see SQL Server Configuration Manager).

Finally, make sure firewall is open and allows connections (Windows firewall can get in the way sometimes, espeically if you're connecting from another box).

Thanks a lot for the detailed steps @mourantDavidSearle. I will try them out.

MsSQL 6m usage: 12
% of users impacted: 50
Stats

Stat
Values

Reach
6

Effort (months)
0.25

@mourantDavidSearle
Hi David, I am trying to connect to a SQL server instance too. Please, can you share your workaround or if you found another way to connect the instance?

Thanks @sumitsum - I managed to get my own workaround by hardcoding the port used by the MS SQL named instance. This at least meant I was able to begin bring data back. Look forward to trying the enhancement in a couple of weeks!

Hi,
Yes, you need to discover the port the SQL Server Instance is running on.  See this article which gives you a few ways: https://www.mssqltips.com/sqlservertip/2495/identify-sql-server-tcp-ip-port-being-used/
Once you have done that, you can use the port number in the AppSmith connection setup – just put the server name (not the full instance name), and then the port. The port could change each time SQL Server is restarted however I've found them to be pretty static generally.
I thought they'd have resolved this defect/feature by now…
Thanks,
Dave
David Searle
(He/Him/His)
Solutions Architect
Mourant
D +44 1534 676 619
22 Grenville Street | St Helier | Jersey | JE4 8PX
mourant.com
The information contained in this e-mail (and any attachments) is strictly confidential and may also be legally privileged.  If you are not the intended recipient of this e-mail please do not read, print, re-transmit, store, or act in reliance on it or any attachments. Instead, please notify the sender by return e-mail and then immediately and permanently delete it from your system. We are not liable for any views or opinions expressed by the sender where this is a non-business e-mail.  We may monitor email communications in accordance with applicable law and regulations.
Mourant Ozannes (Jersey) LLP is registered as a limited liability partnership in Jersey with registration number LLP112.
Additional terms and conditions and information on other Mourant network members are available on our website:
www.mourant.com
Please see the Mourant
Privacy Notice
which contains details on how we process data, and the rights individuals have in respect of their data.
From: FlexyMax @.>
Sent: 11 April 2023 00:21
To: appsmithorg/appsmith @.>
Cc: David Searle @.>; Mention @.>
Subject: Re: [appsmithorg/appsmith] [Bug]-[48]:MsSQL plugin (Issue #15531)
CAUTION: This email originated from outside of Mourant.
@mourantDavidSearlehttps://github.com/mourantDavidSearle
Hi David, I am trying to connect to a SQL server instance too. Please, can you share your workaround or if you found another way to connect the instance?
Thanks @sumitsumhttps://github.com/sumitsum - I managed to get my own workaround by hardcoding the port used by the MS SQL named instance. This at least meant I was able to begin bring data back. Look forward to trying the enhancement in a couple of weeks!
—
Reply to this email directly, view it on GitHubhttps://github.com/appsmithorg/appsmith/issues/15531#issuecomment-1502460682, or unsubscribehttps://github.com/notifications/unsubscribe-auth/A3FZ6DMHJ3C7TSTS4QN7HTTXASIVRANCNFSM5473SX5Q.
You are receiving this because you were mentioned.Message ID<EMAIL_ADDRESS>

Hi,
Yes, you need to discover the port the SQL Server Instance is running on.  See this article which gives you a few ways: https://www.mssqltips.com/sqlservertip/2495/identify-sql-server-tcp-ip-port-being-used/
Once you have done that, you can use the port number in the AppSmith connection setup – just put the server name (not the full instance name), and then the port. The port could change each time SQL Server is restarted however I've found them to be pretty static generally.
I thought they'd have resolved this defect/feature by now…
Thanks,
Dave

Hi, if you are a user who is interested in the fix for this issue and if you are willing to test the fix on a custom docker Appsmith container with the fix (you can self host this custom instance), please let me know by writing a comment on this thread and tagging me in the comment.

Hello David,
I hope this email finds you doing well. I wanted to express my gratitude for your response and for providing me with a solution that works flawlessly. I have been testing your suggested work-around and it has been working perfectly fine. For the time being, I will continue using it until we find another solution or until I switch to a default instance in the future.
Once again, I appreciate your help and I would like to extend my assistance to you for any queries or issues you may face with SQL or Appsmith. Please feel free to reach out to me whenever you need help.
Thank you,
Carlos

De: David Searle @.>
Enviado: martes, 11 de abril de 2023 4:35
Para: appsmithorg/appsmith @.>
Cc: Carlos A. Miranda @.>; Comment @.>
Asunto: Re: [appsmithorg/appsmith] [Bug]-[48]:MsSQL plugin (Issue #15531)
Hi,
Yes, you need to discover the port the SQL Server Instance is running on. See this article which gives you a few ways: https://www.mssqltips.com/sqlservertip/2495/identify-sql-server-tcp-ip-port-being-used/
Once you have done that, you can use the port number in the AppSmith connection setup – just put the server name (not the full instance name), and then the port. The port could change each time SQL Server is restarted however I've found them to be pretty static generally.
I thought they'd have resolved this defect/feature by now…
Thanks,
Dave
—
Reply to this email directly, view it on GitHubhttps://github.com/appsmithorg/appsmith/issues/15531#issuecomment-1502912241, or unsubscribehttps://github.com/notifications/unsubscribe-auth/A2VVU7F2PJMDARSY42AEOFLXAUJTXANCNFSM5473SX5Q.
You are receiving this because you commented.Message ID: @.***>

Is anyone working on this? or is this closed?


[cleanup][test] remove redundant code

Modifications
Remove redundant logic.
Verifying this change

[x] Make sure that the change passes the CI checks.

Documentation

[ ] doc
[ ] doc-required
[x] doc-not-needed
[ ] doc-complete

Matching PR in forked repository
PR in forked repository: https://github.com/labuladong/pulsar/pull/8

/pulsarbot run-failure-checks

Codecov Report

Merging #18487 (c9254ff) into master (7975023) will decrease coverage by 9.18%.
The diff coverage is n/a.

@@             Coverage Diff              @@
##             master   #18487      +/-   ##
============================================
- Coverage     45.62%   36.43%   -9.19%
+ Complexity    10075     1938    -8137
============================================
  Files           697      208     -489
  Lines         68024    14435   -53589
  Branches       7293     1590    -5703
============================================
- Hits          31033     5259   -25774
+ Misses        33413     8601   -24812
+ Partials       3578      575    -3003

Flag
Coverage Δ

unittests
36.43% <ø> (-9.19%)
:arrow_down:

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

...he/pulsar/client/impl/PartitionedProducerImpl.java
30.34% <0.00%> (-5.13%)
:arrow_down:

...va/org/apache/pulsar/client/impl/ProducerImpl.java
15.84% <0.00%> (-1.17%)
:arrow_down:

.../pulsar/client/impl/ProducerStatsRecorderImpl.java
84.04% <0.00%> (-0.62%)
:arrow_down:

...eeper/mledger/impl/cache/InflightReadsLimiter.java

...rcegroup/ResourceGroupNamespaceConfigListener.java

...ar/broker/intercept/BrokerInterceptorMetadata.java

...ache/pulsar/broker/service/PublishRateLimiter.java

...s/prometheus/metrics/PrometheusTextFormatUtil.java

...loadbalance/impl/LeastResourceUsageWithWeight.java

...he/bookkeeper/mledger/OffloadedLedgerMetadata.java

... and 482 more

/pulsarbot run-failure-checks

/pulsarbot rerun-failure-checks


Update Zig from 0.11.0 to 0.13.0

Upgrading over an upgrade.

Checked that, for the same seed, this version produces byte-for-byte identical data file. This required a bit of patching of std.random to get back the old behavior (the algoritm for random numbes in ranged changed for small-sized ints like u8), but after that it is the same :tada:


[BUG] Instance of BaseType does not equal to instance of SuperType, even though all fields from BaseType are equal

Describe the bug
Given 2 classes: A and B, where B is super type of A. A has a field f.
Given 1 instance of A (a) and B (b), where a.f = _SOME_TEXT_ and b.f = _SOME_TEXT_, a.equals(b) returns false with the generated equals method.
To Reproduce
Here is a test class, where the method test() fails at the last assertion:
import static org.assertj.core.api.Assertions.assertThat;

import lombok.EqualsAndHashCode;
import org.junit.jupiter.api.Test;

public class LombokEqualsTest {

    public static final String F = "F";

    @Test
    void test() {
        A a1 = new A();
        A a2 = new A();

        a1.f = F;
        a2.f = F;

        assertThat(a1).isEqualTo(a2);

        A b = new B();
        b.f = F;

        assertThat(b).isNotEqualTo(a1); // maybe this should return true as well, not sure
        assertThat(a1).isEqualTo(b);
    }

    @EqualsAndHashCode
    static class A {
        private String f;
    }

    @EqualsAndHashCode(callSuper = true)
    static class B extends A {
        private String g;
    }
}

Expected behavior
I'd expect that if all I know about two objects is that their base type is A and both objects have equal field values for all fields defined in A then they should be equal
Version info (please complete the following information):

Lombok version: 1.18.10
Platform JDK11

Additional context
The problem seems to be with the fact that lombok overrides the canEqual() method in the super type and that A.equals() calls that canEqual() method, which returns false, so A.equals() doesn't even get to comparing the fields.
I might have made an error of principle here, I'm open to discussing if I'm right with my expectations.
P.S.: An example equals() method generated by lombok:
public boolean equals(Object o) {
    if (o == this) {
        return true;
    } else if (!(o instanceof LombokEqualsTest.A)) {
        return false;
    } else {
        LombokEqualsTest.A other = (LombokEqualsTest.A)o;
        if (!other.canEqual(this)) {
            return false;
        } else {
            Object this$f = this.f;
            Object other$f = other.f;
            if (this$f == null) {
                if (other$f != null) {
                    return false;
                }
            } else if (!this$f.equals(other$f)) {
                return false;
            }
            return true;
        }
    }
}

I'd say that the problem area is the line if (!other.canEqual(this)) {. I'd say a better replacement would be if (!this.canEqual(this)) {, even tho that's redundant in this case because of  } else if (!(o instanceof LombokEqualsTest.A)) {.

Your expectation is in fact wrong. equals() must be symmetric, i.e.
assertThat(b).isNotEqualTo(a1);
assertThat(a1).isEqualTo(b);

must never succeed.
Furthermore, the general expectation is that an instance of a subclass will always be different to an instance of its superclass, even if it has no additional field (that is because the behaviour of the subclass may be different). If you need a different behavior for equals(), you have to implement it manually.

Furthermore, the general expectation is that an instance of a subclass will always be different to an instance of its superclass, even if it has no additional field (that is because the behaviour of the subclass may be different).

I don't necessarily agree with this part.
Given a structure, where I have some kind of FieldDescriptor, that can let's say describe a field of a given parent class.
Extending this, a FieldWrapper, that not only describes a given field, but it can also retrieve it, since it not only is aware of the type of the parent class, but also a concrete instance of it.
In this case, an instance of FieldDescriptor and FieldWrapper could be equal, since they can describe the very same field, even though the latter has additional knowledge about the given field.
I'd think about the functionality of the equals() method as comparing the states of instances as opposed to their behavior.

Let's think about a comfortable middle ground.
I thought that if I override the canEqual() method, then I can get around the principle that an instance of a subclass will always be different to an instance of its superclass.
The nicest way I can think of could be to define the method on the superclass. However, Lombok will always just override this method in subclasses. If I define it as final, then I get a compiler error.
My suggestion would be to handle the case, where canEqual() is final, so that Lombok simply omits the method implementation altogether in subtypes.

What happens if you have Equalsverifier ( https://jqno.nl/equalsverifier/)
verify the resulting classes?
On Sat, Jan 11, 2020, 15:08 rolaca11<EMAIL_ADDRESS>wrote:

Let's think about a comfortable middle ground.
I thought that if I override the canEqual() method, then I can get around
the principle that an instance of a subclass will always be different to
an instance of its superclass.
The nicest way I can think of could be to define the method on the
superclass. However, Lombok will always just override this method in
subclasses. If I define it as final, then I get a compiler error.
My suggestion would be to handle the case, where canEqual() is final, so
that Lombok simply omits the method implementation altogether in subtypes.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/rzwitserloot/lombok/issues/2333?email_source=notifications&email_token=AABIERIDEP4WNWB525XLRU3Q5HHEFA5CNFSM4KFRSBC2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEIWCWMA#issuecomment-573319984,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AABIERLVJBQPVVK263KAPNLQ5HHEFANCNFSM4KFRSBCQ
.

What happens if you have Equalsverifier ( https://jqno.nl/equalsverifier/) verify the resulting classes?

That symetry is broken. That is not enough :\

Thing is, writing proper equals methods is hard.
You may be correct that if all fields in two objects are equal then the
objects are arguably equal (at least, when one inherits from the other).
From what I read on the subject, it does look that way.
But whatever implementation change you make for this is going to have to
abide by the rules. Equalsverifier at least should still give those methods
a thumbs up.
Secondly, there is backwards compatibility to consider. Can't have code in
existing projects suddenly breaking because the implementation changed
underneath them. Which in turn means lombok can't silently change this.
Don't know about this one. Allowing the user to shoot themselves in the
foot equals contract wise may be the best option, but it doesn't feel
pretty, either
On Sat, Jan 11, 2020, 15:52 rolaca11<EMAIL_ADDRESS>wrote:

What happens if you have Equalsverifier ( https://jqno.nl/equalsverifier/)
verify the resulting classes?
That symetry is broken. That is not enough :\
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/rzwitserloot/lombok/issues/2333?email_source=notifications&email_token=AABIERNOEX3TGOLWTMBHA3TQ5HMMBA5CNFSM4KFRSBC2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEIWDRWY#issuecomment-573323483,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AABIERK6PEZGM656BGH6353Q5HMMBANCNFSM4KFRSBCQ
.

Extending this, a FieldWrapper, that not only describes a given field, but it can also retrieve it, since it not only is aware of the type of the parent class, but also a concrete instance of it.

But this also implies that two field wrappers corresponding to the same field but different concrete instances must be equal.
That's strange but OK if you want it this way. Anyway, what Lombok does is correct as IMHO it does what's required most of the time.

I thought that if I override the canEqual() method, then I can get around the principle that an instance of a subclass will always be different to an instance of its superclass.

Right that's what canEqual is for.

The nicest way I can think of could be to define the method on the superclass. However, Lombok will always just override this method in subclasses.

There's a trivial solution: Do not put @EqualsAndHashCode at the subclass as the inherited methods do exactly what you want.

If I define it as final, then I get a compiler error.

Sure, Lombok knows nothing about other compilation units, that'd require resolution.

My suggestion would be to handle the case, where canEqual() is final, so that Lombok simply omits the method implementation altogether in subtypes.

That's impossible, but you don't need it.
Summarized:

there's no bug; you're requesting a not-so-common behavior (not default but supported)
use @EqualsAndHashCode on the superclass
define canEqual() returning this instanceof A in the superclass
leave subclasses alone


Subtyping doesn't unify

I can't create a collection of various nodes like this:
let x =
  let document = Webapi.Dom.window |> Webapi.Dom.Window.document
  in
  [ Webapi.Dom.Document.createElement "foo" document
  ; Webapi.Dom.Document.createTextNode "bar" document ]

The subtyping fails, it doesn't compile

What's the current workaround for this right now?
I can't just use appendChild, I need an actual collection of Dom.node_likes

I thought there was an asNode function in Node, which would be inherited by everything implementing it, but apparently there's not. I don't see why there couldn't be though, since there shouldn't be any overhead to a simple external.
Workaround would be something like:
external asNode : Dom.node_like(_) => Dom.node = "%identity";

Want to add that in a PR?

Sure
I think it got removed as part of the new subtyping experiment:
https://github.com/reasonml-community/bs-webapi-incubator/commit/23423220a4359c700d27584aad80ec7d39b0525d#diff-57a44c44f32b358d6bc2e1bb952dffc2

Right, I guess I figured it wouldn't be needed anymore. And it doesn't seem like it has been, until you got the bright idea to put them in collections :wink:


Request for Clarification on Use of Private Endpoints for Azure Backup Vault and Azure Recovery Services Vault

[Enter feedback here]
Dear Microsoft Azure Documentation Team,
I am a regular user of your resources and have found your documentation to be consistently insightful and highly beneficial. I am reaching out today to request some improvements on a specific topic where I believe more clarity is needed.
Specifically, I am referring to the documentation pages related to Azure Backup Vault and Azure Recovery Services Vault. While your documentation has been a useful guide in many aspects, there seems to be some ambiguity regarding the use of Private Endpoints for these services.
It would be immensely helpful if the documentation could explicitly state whether or not Private Endpoints can be used with Azure Backup Vault, in addition to Azure Recovery Services Vault. This information is critical as it directly impacts the design and implementation decisions we make for our cloud infrastructure.
Furthermore, if Private Endpoints are indeed usable for both, it would be extremely beneficial to have step-by-step instructions, best practices, and potential use-cases for each scenario. A comparison chart between the two might also be a valuable addition.
I believe that a thorough clarification on this subject would be of great interest to many Azure users, enhancing not only our understanding but also the efficiency and security of our cloud deployments.
Thank you for taking the time to consider this request. I am confident that your response will greatly aid myself and many others in our cloud endeavors.
Best regards, Maxim

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

ID: bca26b09-705a-5243-cc2a-c4eca4ef17ef
Version Independent ID: 97a5d66c-ee1a-5259-eeb8-1391e7bb7d99
Content: Private endpoints for Azure Backup - Overview - Azure Backup
Content Source: articles/backup/backup-azure-private-endpoints-concept.md
Service: backup
GitHub Login: @jyothisuri
Microsoft Alias: jsuri

@sokoloffmaks
Thanks for your feedback! We will investigate and update as appropriate.

jyothisuri for your review

#reassign: @Abhishek-MS

@sokoloffmaks - We've updated the following sections with the information that "Private Endpoint is currently not supported for Backup vault". Thanks.

Private Endpoint V1 experience
Private Endpoint V2 experience

#please-close

thank you for updating documentation


Assert Published Count

Provide a function to assert published count

Sorry for the late reply, I have merged and tagged v1.3.
Thanks for the contribution again.


[FEAT]: Create Issue forms and make the issue options more visually appealing

Currently, there is no issue template for this repo, so I want to add it which will look like this 👇

Also I will add Issue Forms to the respective issues to make it easier for the contributor to raise it.

Here is an example of how a Bug Issue Form will look like 👇

I want to work on this issue. So, kindly assign this issue to me ( GSSOC'24 ).

Hey @hasmithagunda123, I have raised a PR #84 related to this. Please check it out.

I would love to work on it.Please assign this issue to me.


Model with legitimate foo and foo_id columns override each other to nil

Recreate in a fresh rails app:
$ rails new factory_girl_test && cd factory_girl_test
$ echo "gem 'factory_girl_rails', '~> 4.5.0', group: [:test, :development]" >> Gemfile
$ bundle install
$ rails g model Thing name version_id:integer version:integer
$ rake db:create db:migrate
$ rails c
Loading development environment (Rails 4.2.3)
irb(main):001:0> FactoryGirl.build :thing, version: 4
=> #<Thing id: nil, name: "MyString", version: 4, version_id: nil, created_at: nil, updated_at: nil>
irb(main):002:0> FactoryGirl.build :thing, version_id: 4
=> #<Thing id: nil, name: "MyString", version: nil, version_id: 4, created_at: nil, updated_at: nil>
irb(main):003:0> FactoryGirl.build :thing, version_id: 4, version: 3
=> #<Thing id: nil, name: "MyString", version: nil, version_id: nil, created_at: nil, updated_at: nil>

I'm aware of the convention that if version was a model, then version and version_id attributes have special meaning in factory girl because they represent associations.
Is this something that shouldn't be happening? I don't want to submit a PR if this is not identified as a bug :+1:
My work around is something like this in the thing factory:
# test/factories/things.rb
FactoryGirl.define do
  factory :thing do
    name "MyString"
    version 1
    version_id 1

    # HACK:
    after(:build) do |thing, evaluator|
      thing.version_id ||= evaluator.version_id
      thing.version ||= evaluator.version
    end
  end
end

Props to @jellymann for his help on this

Duplicate with #734

@sighmin this is currently not a bug; within FG proper, there's the concept of aliases, and the introduction of foo/foo_id and resolving them was due in part to FG primarily being used for ActiveRecord classes in the beginning. I've been thinking recently about making this behavior opt-in in, since it's potentially confusing, especially when used with non-AR-backed models.


Inherit protocol modifiers

Allows protocols with any modifiers, like public, fileprivate etc. to inherit this access on the spy and all the generated members. This is done by taking the modifiers on the original protocol definition and applying it to all generated members.

private protocol members will inherit an access level fileprivate instead. A protocol declared private at file-scope is effectively treated as fileprivate. This access level on the generated members is required to satisfy the protocol requirements

Generate an init with the same access level, allowing the spy to be created outside of the current module (as the default init level is internal).
Adds tests for all use cases.
Closes #73 , fixes #72

Thanks for the great library! This is the best spy/mock generator out there atm.

Hi @bradleymackey, welcome to the project!
Thank you for your contribution! I'll try to review it over the weekend! 🙌

Hey @Matejkob could you merge this improvement by any chance?

Oops, this one fell off my radar, apologies for not addressing the feedback as requested. I'm using Mockolo now for my personal projects as it has a lot of features I need anyway with a bit more control over certain aspects of the mock generation.
I'll see about having a look at addressing these improvements in a week or so, but no promises as I may be a little busy.

I would love to see this implemented because i am facing exactly the same issue.
Is there any effort any time soon to merge this? :)

Thank you so much @bradleymackey, for your hard work on this feature! Your approach of modifying each node individually was a great step forward and really helped shape the direction of this functionality.
I’m closing this PR in favor of a new implementation (#130) that uses a syntax rewriter to handle access level inheritance. This simplifies the logic and ensures consistent behavior for all declaration members.
Your contribution was invaluable, and I truly appreciate the effort you put into this. Looking forward to more contributions from you in the future! 😊

Hi @damian-kolasinski, @armintelker, @KonDouvris! Thank you for your patience and for highlighting the importance of this feature. I’ve created a new PR (#130 ) that implements access level inheritance using a syntax rewriter, ensuring consistent behavior across all members.
I’m planning to merge it in 2/3 days to allow the community some time to review and provide feedback. I’d love to hear your thoughts or suggestions on the new implementation before it’s finalized! Your input is always appreciated. 😊
Thanks again for your support and enthusiasm for this project!


function

Is there a way so I can connect other people's Discord to minecraft accounts, because I'm the admin and i want full control.
Something like this:
!whitelist @discorduser#1111 minecraftplayer

Added in 096cea31376f077e4c1dbb0a746a8271105bd597


Get round MVP

It seems that demoinfocs-goland has a round_mvp event. Is possible to get this information from awpy?

It is not currently available but i should be possible to include.
If you are interested in adding this, this would be the place to do so.


return random point given cell ID

Suggestion for a function.
Returns a random point within the cell given the cell ID.
Doable?

An interesting suggestion but perhaps outside the scope of the library since this can be summarized as getting a random point inside a convex polygon, which isn't voronoi specific.
This is usually done by:

Triangulating the cell(convex polygon) (https://en.wikipedia.org/wiki/Polygon_triangulation)
Picking random triangle
Picking random point inside the triangle (https://stackoverflow.com/questions/47410054/generate-random-locations-within-a-triangular-domain)


Bug: Sorting by newest/oldest doesn't work on Proposals list

Overview
This sorting doesn't seem to do anything.
Steps to reproduce
Sort by newest/oldest in proposals list, e.g.:
https://app.dev.fractalframework.xyz/#/daos/0xF332aAb56e00f7FDEdEDDC50033Ce5e2D0DD6d61/proposals
Try sorting.
Screenshots / Video

Version
Dev (app.dev.fractalframework.xyz/)
Browser
Firefox
Operating System
Mac
web3 wallet
None

ah this is because these are by Date not time.

@herbig


Automated cherry pick of #3336: dns: 添加k8s_skip选项

Cherry pick of #3336 on release/2.11.
#3336: dns: 添加k8s_skip选项

Codecov Report

:exclamation: No coverage uploaded for pull request base (release/2.11@a186a2b). Click here to learn what that means.
The diff coverage is n/a.

@@              Coverage Diff               @@
##             release/2.11   #3338   +/-   ##
==============================================
  Coverage                ?   7.14%
==============================================
  Files                   ?     476
  Lines                   ?   77222
  Branches                ?       0
==============================================
  Hits                    ?    5516
  Misses                  ?   71243
  Partials                ?     463

Flag
Coverage Δ

#aFlag
7.14% <ø> (?)

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update a186a2b...3a5fae1. Read the comment docs.

/lgtm

/approve


Feature request: dual y-axis plot

A new function could be added in the plotting module to allow for plotting with a dual y-axis. The resulting (matplotlib) figure and axis are then returned to let the user edit the plot further before saving.

This functionality has been added with 5453acdcf3485cb197df9dd5953821637b948071.
The documentation can be found here.


batch processing process time increase not expected

Hello thank you for birefnet its really well trained
I wanted to test inference of  birefnet with torchserve (to process many images as batches, but the process time increase according to the number of images passed in the batch )
I was expecting process time for many images passed in the batch  should be little similar than processing one image
here is an example of code
imgs = [img ]
batch_images = torch.stack([transform_image(im) for im in imgs])
batch_images = batch_images.to(device)

time_start = time.time()
with torch.no_grad():
    preds = birefnet(batch_images)[-1].sigmoid().cpu()
time_end = time.time()

print('prediciton time 1 img ==>', time_end -time_start)

imgs = [img , img]
batch_images = torch.stack([transform_image(im) for im in imgs])
batch_images = batch_images.to(device)

time_start = time.time()
with torch.no_grad():
    preds = birefnet(batch_images)[-1].sigmoid().cpu()
time_end = time.time()

print('prediciton time 2 img ==>', time_end -time_start)

and here is the output
I tested on L4 nvidia (24 GB of gpu memory)
so im little confused
here is the output of processing time (in Seconds)
prediciton time before warmup ==> 0.9029507637023926
prediciton time 1 img ==> 0.32914161682128906
prediciton time 2 img ==> 0.7225363254547119
prediciton time 3 img ==> 1.0903816223144531
prediciton time 4 img ==> 1.4586782455444336
prediciton time 5 img ==> 1.9846432209014893

Hi, @bigPacha. I'm so sorry that I don't know why I didn't receive the notification of your issue. I was just checking the issue list to see if some problem was unsolved and saw your issue.
Do you mean the inference time is increasing linearly, though it's in a batch process?
Actually, I had the same thoughts as yours. However, after some practical trials, I find that it's only a theoretical calculation. In many cases where the computation cost is very high (like here), even if the GPU memory is not occupied fully, it might have already reached the bottleneck. The GPU-Util is more reliable than Memory-Usage for the measurement, as shown in nvidia-smi.


"Unable to extract station" in afreeca.tv short VODs

Please follow the guide below

You will be asked some questions and requested to provide some information, please read them carefully and answer honestly
Put an x into all the boxes [ ] relevant to your issue (like this: [x])
Use the Preview tab to see what your issue will actually look like

Make sure you are using the latest version: run youtube-dl --version and ensure your version is 2018.10.05. If it's not, read this FAQ entry and update. Issues with outdated version will be rejected.

[x] I've verified and I assure that I'm running youtube-dl 2018.10.05

Before submitting an issue make sure you have:

[x] At least skimmed through the README, most notably the FAQ and BUGS sections
[x] Searched the bugtracker for similar issues including closed ones
[x] Checked that provided video/audio/playlist URLs (if any) are alive and playable in a browser

What is the purpose of your issue?

[x] Bug report (encountered problems with youtube-dl)
[ ] Site support request (request for adding support for a new site)
[ ] Feature request (request for a new functionality)
[ ] Question
[ ] Other

The following sections concretize particular purposed issues, you can erase any section (the contents between triple ---) not applicable to your issue

If the purpose of this issue is a bug report, site support request or you are not completely sure provide the full verbose output as follows:
Add the -v flag to your command line you run youtube-dl with (youtube-dl -v <your command line>), copy the whole output and insert it here. It should look similar to one below (replace it with your log inserted between triple ```):
$ youtube-dl --verbose http://vod.afreecatv.com/PLAYER/STATION/32127648
[debug] System config: []
[debug] User config: []
[debug] Custom config: []
[debug] Command-line args: [u'--verbose', u'http://vod.afreecatv.com/PLAYER/STATION/32127648']
[debug] Encodings: locale UTF-8, fs utf-8, out UTF-8, pref UTF-8
[debug] youtube-dl version 2018.10.05
[debug] Python version 2.7.10 (CPython) - Darwin-18.0.0-x86_64-i386-64bit
[debug] exe versions: none
[debug] Proxy map: {}
[afreecatv] 32127648: Downloading webpage
ERROR: Unable to extract station; please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; type  youtube-dl -U  to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.
Traceback (most recent call last):
  File "/usr/local/bin/youtube-dl/youtube_dl/YoutubeDL.py", line 792, in extract_info
    ie_result = ie.extract(url)
  File "/usr/local/bin/youtube-dl/youtube_dl/extractor/common.py", line 507, in extract
    ie_result = self._real_extract(url)
  File "/usr/local/bin/youtube-dl/youtube_dl/extractor/afreecatv.py", line 233, in _real_extract
    r'nStationNo\s*=\s*(\d+)', webpage, 'station')
  File "/usr/local/bin/youtube-dl/youtube_dl/extractor/common.py", line 977, in _search_regex
    raise RegexNotFoundError('Unable to extract %s' % _name)
RegexNotFoundError: Unable to extract station; please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; type  youtube-dl -U  to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.

If the purpose of this issue is a site support request please provide all kinds of example URLs support for which should be included (replace following example URLs by yours):

Single video: https://www.youtube.com/watch?v=BaW_jenozKc
Single video: https://youtu.be/BaW_jenozKc
Playlist: https://www.youtube.com/playlist?list=PL4lCao7KL_QFVb7Iudeipvc2BCavECqzc

Note that youtube-dl does not support sites dedicated to copyright infringement. In order for site support request to be accepted all provided example URLs should not violate any copyrights.

Description of your issue, suggested solution and other information
Explanation of your issue in arbitrary form goes here. Please make sure the description is worded well enough to be understood. Provide as much context and examples as possible.
If work on your issue requires account credentials please provide them or explain how one can obtain them.

Single video: http://vod.afreecatv.com/PLAYER/STATION/32127648

N/32127648

That video is private.


Long "Person" type profile field spills out of input box

With long names, the "Person" type field input spills out of its box, both in Settings > Profile UI (top screenshot) and the "Manage user" UI (bottom screenshot).

We should fix this by:

Having the input field expand up to the width of a "Long text" field, if needed.
Abbreviating the name with a "..." if it's too long to fit at max width.

@zulipbot claim

@zulipbot claim

@zulipbot claim

@alya As my first PR is taking time to merge with zulip till then the bot will not assign me any issue so kindly review my PR for this perticular issue.
Kindly suggest me If there is anything else that needs modifications.

Good day, I am one of the outreachy applicants, I claimed an issue 2days back with the issue number #21828 (https://github.com/zulip/zulip/issues/21807#), after which I forked and cloned the zulip code to my  VSCode but I don't know the branch the source code for the issue is
In order words, I really dont know how to access the branch and the code that has the issue in order for me to make changes. Please I really need help

@alya, Please kindly confirm that the issue #21807 has been fixed by #21867 . Thanks a lot

@zulipbot claim


Null Safety issue

Hi,
In transformer_page_view:get realPage, "position.maxScrollExtent == null || position.minScrollExtent == null" throws a null exception because these are get functions. We need that replaced with "!position.hasContentDimensions" to fix the issue.
Do you want me to raise a PR for this?

I am not using the sound null safety, but I still get Null-aware operator used on a null value or something


Release 0.8.1 master merge

This PR merges and addresses the conflicts of 0.8.1 -> master

This PR: https://github.com/spatialos/UnrealGDKExampleProject/pull/100/files Will need to be re-applied to master in a 4.24 engine


can't inject into Ryujinx

Ryujinx uses opengl 3.3 and others on nvidia can inject just fine any help is wanted

That error message indicates that the program is creating a context using legacy context creation functions. RenderDoc doesn't support the compatibility profile, so it requires at least the use of modern context creation functions - wglCreateContextAttribs / glXCreateContextAttribs - and will warn if you don't request a core profile context.
How your code does that is up to you, if you're using a wrapper library for creating contexts there should be a way to request a core context.


fix cli version info

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


Update spaceranger to 2.x

Description of feature
One feature that's crucial for us is that spaceranger supports CytAssist. This was added in v2.0.
As a side, it would be great if the corresponding Dockerfiles were stored in this repo (or nf-core/modules as appropriate).

Here's a (closed as stale) PR to modules adding spaceranger: https://github.com/nf-core/modules/pull/994
Would be good to have this in the modules repository, actually.

Yes, making a Space Ranger module is something we've thought about doing, so it'll likely happen in the future. I'll see what I can do about updating the container to Space Ranger 2.0.

I can work on creating the module, if you want. In that case it would be fab if you coulde share the Dockerfile with me as a starting point.

Excellent! The Dockerfile that creates the image that is currently used is the one you're linking to in the stale PR (hosted at the nf-core DockerHub organisation).

We at nf-core at somepoint had the agreement with 10x that we can have the docker containers here at nf-core but need to make very clear (readme + docker file) that this is in no way affiliated with 10x and there is no support etc from them:
Example at cellranger:
https://github.com/nf-core/modules/tree/master/modules/nf-core/cellranger

Disclaimer: this container is not provided nor supported by Illumina or 10x Genomics.

Working on it here: https://github.com/nf-core/modules/pull/3472


Cog cached

 => CACHED [stage-0  2/10] RUN --mount=type=cache,target=/var/cache/apt apt-get update -qq && apt-get install -qqy --no-install-recommends  make  build-essential  libssl-dev  zlib1g-dev  libbz2-dev  libreadline-dev  libsqlite3-dev  wget  curl  llvm  libncurses5-de  0.0s
 => CACHED [stage-0  3/10] RUN curl https://pyenv.run | bash &&  git clone https://github.com/momo-lab/pyenv-install-latest.git "$(pyenv root)"/plugins/pyenv-install-latest &&  pyenv install-latest "3.8" &&  pyenv global $(pyenv install-latest --print "3.8")        0.0s
 => CACHED [stage-0  4/10] COPY .cog/tmp/build1590162682/cog-0.0.1.dev-py3-none-any.whl /tmp/cog-0.0.1.dev-py3-none-any.whl                                                                                0.0s
 => CACHED [stage-0  5/10] RUN --mount=type=cache,target=/root/.cache/pip pip install /tmp/cog-0.0.1.dev-py3-none-any.whl                                                                                0.0s
 => CACHED [stage-0  6/10] RUN --mount=type=cache,target=/var/cache/apt apt-get update -qq && apt-get install -qqy libgl1-mesa-glx libglib2.0-0 && rm -rf /var/lib/apt/lists/*                                                                                0.0s
 => CACHED [stage-0  7/10] RUN --mount=type=cache,target=/root/.cache/pip pip install -f https://download.pytorch.org/whl/torch_stable.html   cmake==3.21.2 torchvision==0.9.0+cu111 torch==1.8.0+cu111 numpy==1.19.4 opencv-python==<IP_ADDRESS> scipy==1.5.3 tensorboardX=  0.0s
 => CACHED [stage-0  8/10] RUN pip install dlib                                                                                0.0s
 => CACHED [stage-0  9/10] WORKDIR /src                                                                                0.0s
 => [stage-0 10/10] COPY . /src                                                                                0.4s
 => exporting to image                                                                                0.2s
 => => exporting layers                                                                                0.0s
 => => writing image sha256:50b6ce778efb24761ab4bb9a7a4f491274898ee906efdb97691d2625cecefdb9                                                                                0.0s
 => => naming to docker.io/library/testcog11                                                                                0.0s
 => exporting cache

I see some stages have "CACHED" in the beginning. I'm wondering how can i get rid of those caches and have a fresh build. It seems like the first build was an error, the docker container couldn't clone any repository. Therefore every build since was so fast. I removed Cog as mentioned in README but it seems like just the execution files.

cog build invokes docker build with a generated Dockerfile. To delete all of your local docker images you can use this command:
docker rmi $(docker images -a -q)

If you've got local docker images you'd like to preserve, you can pass a list of the broken image IDs to docker rmi.
If you try that, does rebuilding work?

I'm also having this problem but deleting all my docker images didn't fix it for me.
I found a workaround for now where I remove the cached line from the cog file, rebuild, then put it back in, and rebuild it again, and it builds fresh.

Another workaround is docker builder prune after deleting the image. A flag for cog build would be ideal though, deleting images manually takes time and removing the whole build cache might waste time for other builds.

Another solution is cog build --no-cache, that creates docker image from scratch.


Revisit positioning of ID collection in case of non-variable information

This collection is now part of the object tracker. This means that the user needs to fill it for each property set. If we can assume that this collection is always the same (contains the same IDs, in the same order), then we can put it at the phenomenon level and store it once.

There is now a single collection of object IDs for information that doesn't change through time. It is assumed/required that all such information (object IDs, space domain items, property values) is ordered the same. So, all information with a certain index is related to the same object.

Moved id from object_tracker to phenomenon
Renamed id to object_id + related edits
Renamed object tracker's active_id to active_object_id + related edits
Added support for not showing values to lue_translate's dot properties


Genstage lesson: Specify lib/genstage_example/application.ex in "Putting it all together"

I just wanted to follow the example, cutting and pasting as I was reading through the lesson.
In the putting it all together the instruction is to put the following in lib/genstage_example.ex
def start(_type, _args) do
  import Supervisor.Spec, warn: false

  children = [
    worker(GenstageExample.Producer, [0]),
    worker(GenstageExample.ProducerConsumer, []),
    worker(GenstageExample.Consumer, []),
  ]

  opts = [strategy: :one_for_one, name: GenstageExample.Supervisor]
  Supervisor.start_link(children, opts)
end

This had to go in the lib/genstage_example/application.ex for it to work for me.
If I am doing something wrong I would greatly appreciate feedback, otherwise I think this is a mistake in the lesson?

Howdy @Ivor!  Both are right, sort of.  Prior to Elixir 1.4 the OTP application functionality (like start/2) lived in lib/project_name.ex, as of 1.4 this was moved to `lib/project_name/application.ex.  We should update the lessons to better reflect what 1.4 does now that it's been out for awhile.  Hope that helps!

@doomspork thanks for the clarification. I suspected it was a change like that but didn't know. I think it will be good to either update to the the 1.4 way or including both versions. Took me a good while to figure out that following the instructions was not working. It fails very silenty. Appreciate the site!

@Ivor I think we should update to 1.4.  Would you like to take a stab at updating the lesson?


Fix top nav dark mode color

Fix #1043
This pr fix text color on the top nav when in dark mode
replace hidden icon button with image icon
clean up hidden icon lines of code

please improve icon button show/hide balance when hover

please improve icon button show/hide balance when hover

The issue with the hover is the custom clickable... I will just have it removed.


why memcache store session is not work?

What steps will reproduce the problem?
<?php
$config = [
    'components' => [
        'request' => [
            'cookieValidationKey' => '5eOHMbIsNLmoIjvzaJsfRkXMuzJ1xaD9',
        ],
        'memCache' => [
            'class' => 'yii\caching\MemCache',
            'servers' => [
                [
                    'host' => '<IP_ADDRESS>',
                    'port' => 11211,
                    'weight' => 60,
                ],
            ],
        ],
        'session' => [
            'class' => 'yii\web\CacheSession',
            'cache' => 'memCache',
        ],
    ],
];

Yii::$app->session->set('test','hello');
when i reload page ,Yii::$app->session->get('test') is null,so what is wrong?
Additional info

Q
A

Yii version
2.0.7

PHP version
5.6.10

Operating system
mac 10.11

Do you have corresponding session data in Mongo collection?

@SilverFire ，i don't save session data in Mongo collection，but i used memcache.
public function actionTest()
{
        Yii::$app->session->set('testyii','yii ok');
        //echo Yii::$app->session->get('xiaoyongb')."<br/>";   // reload page,session can't keep,
        $host='<IP_ADDRESS>';
        $port=11211;
        $mem=new \Memcache();
        $mem->connect($host,$port);
        $mem->set('test2','test2 ok');
        //echo $mem->get('test2');    // reload page,this is ok
}

Does the regular session works fine for you?

@klimov-paul ，yes,use file is ok

Does MemCache works fine as a data storage? Are you able to perform set and get on your memCache component?

@klimov-paul ，yes，i use memCache component is work
 Yii::$app->memCache->set('testyii','yii ok');
//echo Yii::$app->memCache->get('testyii');

this is ok.

Is the problem still unsolved?

I am unable to reproduce the problem.
Reveiwing provided config I see that MemCache is configured in the wrong way:
'memCache' => [
            'class' => 'yii\caching\MemCache',
            'servers' => [
                [
                    'host' => '<IP_ADDRESS>',
                    'port' => 11211,
                    'weight' => 60, // ONLY ONE SERVER WITH WEIGHT 60%
                ],
            ],
        ],

It specifies single server with wieght 60%, which means for the 40% cases it has no place to go.
Perhaps this is the cause.

thinks,@klimov-paul , @SilverFire , i remove weight attribute or set weight 100,it's work.


Recipe form validation

Problem with committing - forgot to put # and i had to reset the commit about recipe model and etc


api,client: update shared Error model

Issue: https://github.com/moovfinancial/api-docs/issues/162

Codecov Report

Merging #589 into master will decrease coverage by 0.30%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master     #589      +/-   ##
==========================================
- Coverage   51.10%   50.79%   -0.31%
==========================================
  Files          93       93
  Lines        3123     3126       +3
==========================================
- Hits         1596     1588       -8
- Misses       1180     1195      +15
+ Partials      347      343       -4

Impacted Files
Coverage Δ

x/schedule/cutoff.go
36.66% <0.00%> (-50.00%)
:arrow_down:

pkg/transfers/repository.go
69.34% <0.00%> (+2.50%)
:arrow_up:

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update b9a7607...0cac5df. Read the comment docs.


Missing @objc keyword to expose API to Objc

Without the automatic inference from swift 3 some public methods are no longer expose to Objc.
For example in DFUServiceInitiator
public init(centralManager: CBCentralManager, target: CBPeripheral)
and
public func with(firmware file: DFUFirmware) -> DFUServiceInitiator

let's fix that !, sorry about this, will push a new fix soon

Great, DFUFirmware public methods will have the same issues as well.

Update is out, pushing to trunk now :)

feel free to close the issue after you verify it works well for you :)

It is working, thanks.


rangy.saveSelection() with placeholder text crashes IE11

If you have an editor in IE11 that has placeholder text (via the placeholder attribute), then the browser will crash when a field is first focused.
The crash happens in rangy, when nativeSelection.removeAllRanges() is called. This is called by rangy.saveSelection() from within TextArea.js in the startPollingForValueChange function.

See if upgrading rangy fixes this issue or if IE11 has been patched since this was filed.


controlled gates label awareness

Fixes https://github.com/Qiskit/qiskit-terra/issues/4217
When a label is set in a controlled gate, that label should live in controlled_gate.label (and the same for base_gate)

I think looks fine (i'll let @ewinston take a look too). I would have preferred a leaner solution that doesn't touch all the standard gates, but seems like that's not possible because we have hardcoded what some controlled gates are (H -> CH).


create GTS to WIS2 crosswalk

As discussed at TT-WISMD 2024-04-22 creating a crosswalk from AHL to WTH topic/subtopic.  The output should be a configuration (CSV, etc.) that will be added to WTH publication workflow and release artifacts.
@efucile / @antje-s to provide an update / first pass for TT-WISMD 2024-06-03.
cc @wmo-im/tt-wismd

https://github.com/wmo-im/tt-wismd/wiki/Meeting-2024-06-03: mapping was introduced by Dave and Enrico

3 issues (and associated branches) created for each Earth system discipline, see #125, #151 and #152. Suggest closing and move work to those issues.

Closing in lieu of #125, #151, #152


First attempt of using proc_macro to simplify API call code

Simple string-based code generation for API calls. We can also generate the match statement using a macro.
(I have not read any code in other parts so there might be things I missed)

Seems CI failing due to https://stackoverflow.com/questions/55282165/dylib-cannot-load-libstd-when-compiled-in-a-workspace


Script seems unable to retrive movie information from imdb

Hi there, first, thank you for making this script! Next, can you help me point out what went wrong? I have installed the prerequisites as directed. Thanks in advance!
Describe the bug
Unable to find entry for a verified IMDB movie. Staging folder consists 3 movies as shown below.
(venv) admin@server:~$ python imdb2vsmeta.py --search /volume4/docs/Staging/  --verbose  --movies --no-copy
Processing folder: [/volume4/docs/Staging].
filename [{filename}]
Found: [0] entries for Title: [Donald Gets Drafted (] Year: [1942]
No information found for 'Donald Gets Drafted ('
Processed title [Donald Gets Drafted (] year [1942] vsmeta [None]
filename [{filename}]
Found: [0] entries for Title: [Donald's Penguin (] Year: [1939]
No information found for 'Donald's Penguin ('
Processed title [Donald's Penguin (] year [1939] vsmeta [None]
filename [{filename}]
Found: [0] entries for Title: [Donald's Snow Fight (] Year: [1942]
No information found for 'Donald's Snow Fight ('
Processed title [Donald's Snow Fight (] year [1942] vsmeta [None]
To Reproduce
Steps to reproduce the behavior:

Just run the script with the intended parameters
See error

Expected behavior
Script can at least show if it's able to search movie information from imdb
Screenshots
Desktop (please complete the following information):

OS: Synology DS1522+
Browser Chrome
Version latest

@icodeless Glad it may be of use to you.
I've fixed some of the output reporting. Where it used to show "filename [{filename}]" it should now show "Processing title" and related info.
Thing is that these titles are "short" movies and the tool was filtering only movies.
The tool now also considers "short". I've added also "tvMovie" ;)
Give it a twirl and let me know!

@icodeless let me know if it worked for you!


Add way to check if an image is cached.

I want to load a low quality image if user is on mobile data. However, if the high quality image is already cached, then show the high quality image. Any way to find out if a particular image is cached already or not?

It would be a new feature.
We could add something like: FastImage.isCached(url).then(res => ...)
Another potential feature that could solve this would be something like a cache only mode.

@DylanVann it will be very useful, especially with a fading transition when the image is loaded.
Currently, the fading transition is always applied, if we can check if the image is in the cache, we could apply the transition only the first time.

Any work being done towards this?

5 years later and still not implemented?

+1


Power Toys Run crashing

Microsoft PowerToys version
0.82.0
Installation method
PowerToys auto-update
Running as admin
Yes
Area(s) with issue?
PowerToys Run
Steps to reproduce
Invoke powertoys run.
I restarted system - same problem.
Version: <IP_ADDRESS>
OS Version: Microsoft Windows NT 10.0.22000.0
IntPtr Length: 8
x64: True
Date: 3/07/2024 10:45:40 AM
Exception:
System.ArgumentException: Value does not fall within the expected range.
at Wox.Plugin.Common.Win32.NativeMethods.DwmSetWindowAttribute(IntPtr hwnd, Int32 attr, UInt32& attrValue, Int32 attrSize)
at PowerLauncher.ViewModel.MainViewModel.ToggleWox()
at PowerLauncher.ViewModel.MainViewModel.b__147_0()
at System.Windows.Threading.Dispatcher.Invoke(Action callback, DispatcherPriority priority, CancellationToken cancellationToken, TimeSpan timeout)
at System.Windows.Threading.Dispatcher.Invoke(Action callback)
at PowerLauncher.ViewModel.MainViewModel.OnHotkey()
at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
at System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Int32 numArgs, Delegate catchHandler)
✔ Expected Behavior
To get the PowerToy Run dialog/entry box.
❌ Actual Behavior

Other Software
No response

Downgrading to version 0.81.0 fixes the issue
uninstall 0.82.0
Install of version 0.81.0 from github.

Duplicate of #33612.

/dup #33504.
think we have a fix


Code zooming doesn't work if shortcut is pressed with very short gap

Not a very harmful bug, though worth mentioning:
Behavior: shortcut cmd + + /  - if pressed in very small timegap, it doesn't perform expected behavior. Text size remains same in such situation.
Expected behavior: whatever interval the gap be, the font size should decrease / increase corresponding to the key press.
Steps to reproduce: press cmd + + successively very fast
Tested on: OS X 10.10, atom v0.184.0

I think you're describing this issue: https://github.com/atom/atom/issues/5771. Could you take a look and close this on if it's a duplicate? Thanks!

Yeah its the same w/o animated gif..., this one can be closed!

Cool, thanks!


Separate Admin Groups for each Workload

When I apply templates/enterprise-landing-zone, 3 user groups are created for first workload with related IAM policies.

OCI-ELZ-UGP-N-APP-ADMIN
OCI-ELZ-UGP-N-DB-ADMIN
OCI-ELZ-UGP-N-WRK-ADMIN

And then when I apply templates/elz-workload for another workload, exactly same 3 user groups are created.

OCI-ELZ-UGP-N-APP-ADMIN
OCI-ELZ-UGP-N-DB-ADMIN
OCI-ELZ-UGP-N-WRK-ADMIN

For isolate each workload, it is required that separate Workload Admin groups manage only resources under their own Workload compartment.

Created and will track this issue under LANZ-1971

Hi @TheKoguryo,
Please find the fix of the issue on the file iam.tf from this branch  https://github.com/oracle-quickstart/oci-landing-zones/blob/integration/templates/elz-workload/iam.tf.
Unique Workload Group name will be achieved by using the variable "workload_prefix" on the tfvars file across multiple workload deployment . So , make sure to change this varibale after every workload deployment.
PS :: This is Alpha Release Branch , so no testing has been done . Will be prone to some unwanted bugs.
Please let us know your feedback on the fix.

Hi @TheKoguryo ,
Please enter the valid IDCS endpoint.
Proper Syntax for IDCS :: ^https://idcs-.*.identity.oraclecloud.com:443$
Use this documentation to get the identity domain idcs endpoint.
https://docs.oracle.com/en-us/iaas/Content/Identity/domains/to-view-details-of-an-identity-domain.htm?Highlight=get domain idcs

Hi, @VinayKumar611,
I tested integration branch in Resource Manager.
For templates/enterprise-landing-zone, I add idcs_endpoint in templates/elz-environment/workload.tf
 26   identity_domain_name         = module.identity.domain.display_name
 27   idcs_endpoint                = module.identity.domain.url
 28   workload_admin_group_name    = var.workload_admin_group_name

For templates/elz-workload, I add idcs_endpoint in templates/elz-workload/schema.yaml
 56   - title: IAM Policy Variables
 57     visible: true
 58     variables:
 59       - identity_domain_id
 60       - identity_domain_name
 61       - idcs_endpoint
 62       - workload_admin_group_name
...
276   identity_domain_name:
277     type: string
278     description: "the name of identity domain that the workload expansion is going to create in"
279     title: Identity Domain Name
280     required: true
281   idcs_endpoint:
282     type: string
283     description: "the url of identity domain that the workload expansion is going to create in"
284     title: Identity Domain URL
285     required: true

Hi, @VinayKumar611,
Additionally, I found typo in integration branch.
Filename: /templates/elz-workload/iam.tf
Current:
base_group_names = {
network_admin_group_name : var.network_admin_group_name != "" ? var.network_admin_group_name : "OOCI-ELZ-UGP-${var.environment_prefix}-${var.workload_prefix}-NET-ADMIN",
}
After:
base_group_names = {
network_admin_group_name : var.network_admin_group_name != "" ? var.network_admin_group_name : "OCI-ELZ-UGP-${var.environment_prefix}-${var.workload_prefix}-NET-ADMIN",
}

Hi @TheKoguryo ,
Thanks for providing your feedback. We will fix these before we merge them on Release branch.

Fixed the issue on latest release v2.2.0.


EnvironmentMapLight, BRDF Improvements

(Before)

(After)

Objective

Improve lighting; especially reflections.
Closes https://github.com/bevyengine/bevy/issues/4581.

Solution

Implement environment maps, providing better ambient light.
Add microfacet multibounce approximation for specular highlights from Filament.
Occlusion is no longer incorrectly applied to direct lighting. It now only applies to diffuse indirect light. Unsure if it's also supposed to apply to specular indirect light - the glTF specification just says "indirect light". In the case of ambient occlusion, for instance, that's usually only calculated as diffuse though. For now, I'm choosing to apply this just to indirect diffuse light, and not specular.
Modified the PBR example to use an environment map, and have labels.
Added FallbackImageCubemap.

Implementation

IBL technique references can be found in environment_map.wgsl.
It's more accurate to use a LUT for the scale/bias. Filament has a good reference on generating this LUT. For now, I just used an analytic approximation.
For now, environment maps must first be prefiltered outside of bevy using a 3rd party tool. See the EnvironmentMap documentation.
Eventually, we should have our own prefiltering code, so that we can have dynamically changing environment maps, as well as let users drop in an HDR image and use asset preprocessing to create the needed textures using only bevy.

Changelog

Added an EnvironmentMapLight camera component that adds additional ambient light to a scene.
StandardMaterials will now appear brighter and more saturated at high roughness, due to internal material changes. This is more physically correct.
Fixed StandardMaterial occlusion being incorrectly applied to direct lighting.
Added FallbackImageCubemap.

Can you link the scene you used in the second screenshot? I know it was one of the gltf samples, but just to make it easier for people to reproduce

Can you link the scene you used in the second screenshot? I know it was one of the gltf samples, but just to make it easier for people to reproduce

The scene is at the following link. If you want to reproduce the screenshot exactly, make sure to turn off all direct lighting, ambient lighting, and tonemapping, and enable hdr. https://github.com/KhronosGroup/glTF-Sample-Models/tree/master/2.0/MetalRoughSpheres.

Overall, code looks good, I can't comment on the math in the shader though. I'll try to go over the reference material at some point.

Shader math is exactly taken from the multiscattering paper, and unreal's mobile rendering blog post. I've changed basically nothing from them. Should be entirely correct, assuming I didn't make any more copy paste errors :)
For the most part I'm happy enough with the Rust code, except for the DrawFunction thing. Having to make a second DrawFunction, and have an ugly if statement to decide between them is kinda gross. Doesn't seem like a great way to do it, and I'm open to ideas on how to improve it. This was sadly the best I could come up with.

I'm probably going to rename EnvironmentMap to EnvironmentMapLight, to indicate it's a lighting component.

Note that the second screenshot has changed since the above comments. It's now using tonemapping and direct lighting.

Not sure how to fix the CI needing ktx2/zstd features :P

@JMS55 for the CI look at what the skybox example does in the top level Cargo.toml. You should be able to specify required features for an example.

@JMS55 for the CI look at what the skybox example does in the top level Cargo.toml. You should be able to specify required features for an example.

I did that already, it doesn't seem like enough for the CI :/

I think this could fix CI:
diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index fce2860e5..f40993c7c 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -190,14 +190,14 @@ jobs:
       - name: Build bevy
         # this uses the same command as when running the example to ensure build is reused
         run: |
-          TRACE_CHROME=trace-alien_cake_addict.json CI_TESTING_CONFIG=.github/example-run/alien_cake_addict.ron cargo build --example alien_cake_addict --features "bevy_ci_testing,trace,trace_chrome"
+          TRACE_CHROME=trace-alien_cake_addict.json CI_TESTING_CONFIG=.github/example-run/alien_cake_addict.ron cargo build --example alien_cake_addict --features "bevy_ci_testing,trace,trace_chrome,ktx2,zstd"
       - name: Run examples
         run: |
           for example in .github/example-run/*.ron; do
             example_name=`basename $example .ron`
             echo -n $example_name > last_example_run
             echo "running $example_name - "`date`
-            time TRACE_CHROME=trace-$example_name.json CI_TESTING_CONFIG=$example xvfb-run cargo run --example $example_name --features "bevy_ci_testing,trace,trace_chrome"
+            time TRACE_CHROME=trace-$example_name.json CI_TESTING_CONFIG=$example xvfb-run cargo run --example $example_name --features "bevy_ci_testing,trace,trace_chrome,ktx2,zstd"
             sleep 10
           done
           zip traces.zip trace*.json
diff --git a/.github/workflows/validation-jobs.yml b/.github/workflows/validation-jobs.yml
index 4d306320d..3b36ab363 100644
--- a/.github/workflows/validation-jobs.yml
+++ b/.github/workflows/validation-jobs.yml
@@ -80,7 +80,7 @@ jobs:
         shell: bash
         # this uses the same command as when running the example to ensure build is reused
         run: |
-          WGPU_BACKEND=dx12 CI_TESTING_CONFIG=.github/example-run/alien_cake_addict.ron cargo build --example alien_cake_addict --features "bevy_ci_testing"
+          WGPU_BACKEND=dx12 CI_TESTING_CONFIG=.github/example-run/alien_cake_addict.ron cargo build --example alien_cake_addict --features "bevy_ci_testing,ktx2,zstd"

       - name: Run examples
         shell: bash
@@ -88,7 +88,7 @@ jobs:
           for example in .github/example-run/*.ron; do
             example_name=`basename $example .ron`
             echo "running $example_name - "`date`
-            time WGPU_BACKEND=dx12 CI_TESTING_CONFIG=$example cargo run --example $example_name --features "bevy_ci_testing"
+            time WGPU_BACKEND=dx12 CI_TESTING_CONFIG=$example cargo run --example $example_name --features "bevy_ci_testing,ktx2,zstd"
             sleep 10
           done

bors r+


yarn zxp -> Permission denied

Hi, I'm on an M1 Mac.
I just created a new example project, following the below steps:
yarn create bolt-cep myApp --template react
yarn
yarn build
and then when I ran yarn zxp, I got

I also tried sudo yarn zxp and got the same error.

Check out the steps in
https://github.com/hyperbrew/bolt-cep#misc-troubleshooting
Essentially reset permissions for the ZXPSignCmd inside /node_modules/vite-cep-plugin/bin


fix: augment vue rather than @vue/runtime-core

🔗 Linked issue

❓ Type of change

[ ] 📖 Documentation (updates to the documentation, readme or JSDoc annotations)
[x] 🐞 Bug fix (a non-breaking change that fixes an issue)
[ ] 👌 Enhancement (improving an existing functionality like performance)
[ ] ✨ New feature (a non-breaking change that adds functionality)
[ ] 🧹 Chore (updates to the build process or auxiliary tools and libraries)
[ ] ⚠ Breaking change (fix or feature that would cause existing functionality to change)

📚 Description
In line with https://github.com/vuejs/router/pull/2295 and https://github.com/nuxt/nuxt/pull/28542, this moves to augment vue rather than @vue/runtime core.
This is now officially recommended in the docs and it must be done by all libraries or it will break types for other libraries.
📝 Checklist

[ ] I have linked an issue or discussion.
[ ] I have added tests (if possible).
[ ] I have updated the documentation accordingly.

Thanks! We'll find out later if @vue/runtime-dom needs changing as well 😅

When is planned to release a new version that will include this fix?
Because I'd like to fix this problem in our component library, but without this fix there are some problems with builds.
Thank you.