If I install Gnina with Docker, Can I train the model?

If I install gnina using Docker in linux, can I train the CNN scoring models on my own data-set and test the results?
I guess I can still use train.py if I install gnina in Docker?
By the way, the option -o created the model.pid, What is a .pid file? can I simply generate the new weights file of the re-trained model?

I must say it is not suitable to run train.py in Docker, because I find the Docker container has python2.7 without rdkit or other dependencies. Moreover, the docker is not GPU-accessible (probably related to the nvidia-driver & CUDA existence), so you wil find it impossible to directly run scripts in gnina docker container. @Kerro-junior

Sorry to bother but I might have encountered error when using the Dockerfile in docker/compat to build a new image in my CentOS system.
I download the Dockerfile in a directory(~/my_dockerfile) and run docker build -t gnina:compat .
The docker image result is:
REPOSITORY                             TAG                           IMAGE ID            CREATED             SIZE
                         b4336248122e        8 hours ago         19.9GB
And some of the reported information colored red shows as:

I guess the reason is that I am not a root user, without permit to use sudo, does this matter?
More information is showed below:
`----------------------------------------------------------------------
Libraries have been installed in:
/usr/lib/../lib64
If you ever happen to want to link against installed libraries
in a given directory, LIBDIR, you must either use libtool, and
specify the full pathname of the library, or use the `-LLIBDIR'
flag during linking and do at least one of the following:

add LIBDIR to the `LD_LIBRARY_PATH' environment variable
during execution
add LIBDIR to the `LD_RUN_PATH' environment variable
during linking
use the `-Wl,-rpath -Wl,LIBDIR' linker flag
have your system administrator add LIBDIR to `/etc/ld.so.conf'

See any operating system documentation about shared libraries for
more information, such as the ld(1) and ld.so(8) manual pages.
/usr/bin/mkdir -p '/usr/share/info'
/usr/bin/install -c -m 644 ../../../gcc-6.3.0/libquadmath/libquadmath.info '/usr/share/info'
install-info --info-dir='/usr/share/info' '/usr/share/info/libquadmath.info'
/usr/bin/mkdir -p '/usr/lib/gcc/x86_64-redhat-linux-gnu/6.3.0/include'
/usr/bin/install -c -m 644 ../../../gcc-6.3.0/libquadmath/quadmath.h ../../../gcc-6.3.0/libquadmath/quadmath_weak.h '/usr/lib/gcc/x86_64-redhat-linux-gnu/6.3.0/include'
make[3]: Leaving directory /root/gcc-6.3.0_build/x86_64-redhat-linux-gnu/libquadmath' make[2]: Leaving directory /root/gcc-6.3.0_build/x86_64-redhat-linux-gnu/libquadmath'
make[2]: Entering directory /root/gcc-6.3.0_build/x86_64-redhat-linux-gnu/libgomp' Making install in testsuite make[3]: Entering directory /root/gcc-6.3.0_build/x86_64-redhat-linux-gnu/libgomp/testsuite'
make[4]: Entering directory /root/gcc-6.3.0_build/x86_64-redhat-linux-gnu/libgomp/testsuite' make[4]: Nothing to be done for install-exec-am'.
make[4]: Nothing to be done for install-data-am'. make[4]: Leaving directory /root/gcc-6.3.0_build/x86_64-redhat-linux-gnu/libgomp/testsuite'
make[3]: Leaving directory /root/gcc-6.3.0_build/x86_64-redhat-linux-gnu/libgomp/testsuite' make[3]: Entering directory /root/gcc-6.3.0_build/x86_64-redhat-linux-gnu/libgomp'
true  DO=all multi-do # make
make[4]: Entering directory `/root/gcc-6.3.0_build/x86_64-redhat-linux-gnu/libgomp'
true  DO=install multi-do # make
/usr/bin/mkdir -p '/usr/lib/../lib64'
/usr/bin/install -c -m 644 libgomp.spec '/usr/lib/../lib64'
/usr/bin/mkdir -p '/usr/lib/../lib64'
/bin/sh ./libtool   --mode=install /usr/bin/install -c   libgomp.la '/usr/lib/../lib64'
libtool: install: /usr/bin/install -c .libs/libgomp.so.1.0.0 /usr/lib/../lib64/libgomp.so.1.0.0
libtool: install: (cd /usr/lib/../lib64 && { ln -s -f libgomp.so.1.0.0 libgomp.so.1 || { rm -f libgomp.so.1 && ln -s libgomp.so.1.0.0 libgomp.so.1; }; })
libtool: install: (cd /usr/lib/../lib64 && { ln -s -f libgomp.so.1.0.0 libgomp.so || { rm -f libgomp.so && ln -s libgomp.so.1.0.0 libgomp.so; }; })
libtool: install: /usr/bin/install -c .libs/libgomp.lai /usr/lib/../lib64/libgomp.la
libtool: install: /usr/bin/install -c .libs/libgomp.a /usr/lib/../lib64/libgomp.a
libtool: install: chmod 644 /usr/lib/../lib64/libgomp.a
libtool: install: ranlib /usr/lib/../lib64/libgomp.a
libtool: finish: PATH="/usr/local/nvidia/bin:/usr/local/cuda/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/sbin" ldconfig -n /usr/lib/../lib64
ldconfig: /usr/lib/../lib64/libstdc++.so.6.0.22-gdb.py is not an ELF file - it has the wrong magic bytes at the start.

Libraries have been installed in:
/usr/lib/../lib64
If you ever happen to want to link against installed libraries
in a given directory, LIBDIR, you must either use libtool, and
specify the full pathname of the library, or use the `-LLIBDIR'
flag during linking and do at least one of the following:

add LIBDIR to the `LD_LIBRARY_PATH' environment variable
during execution
add LIBDIR to the `LD_RUN_PATH' environment variable
during linking
use the `-Wl,-rpath -Wl,LIBDIR' linker flag
have your system administrator add LIBDIR to `/etc/ld.so.conf'

See any operating system documentation about shared libraries for
more information, such as the ld(1) and ld.so(8) manual pages.
/usr/bin/mkdir -p '/usr/share/info'
/usr/bin/install -c -m 644 ../../../gcc-6.3.0/libgomp/libgomp.info '/usr/share/info'
install-info --info-dir='/usr/share/info' '/usr/share/info/libgomp.info'
/usr/bin/mkdir -p '/usr/lib/gcc/x86_64-redhat-linux-gnu/6.3.0/include'
/usr/bin/install -c -m 644 omp.h ../../../gcc-6.3.0/libgomp/openacc.h '/usr/lib/gcc/x86_64-redhat-linux-gnu/6.3.0/include'
make[4]: Leaving directory /root/gcc-6.3.0_build/x86_64-redhat-linux-gnu/libgomp' make[3]: Leaving directory /root/gcc-6.3.0_build/x86_64-redhat-linux-gnu/libgomp'
make[2]: Leaving directory /root/gcc-6.3.0_build/x86_64-redhat-linux-gnu/libgomp' make[2]: Entering directory /root/gcc-6.3.0_build/x86_64-redhat-linux-gnu/libitm'
Making install in testsuite
make[3]: Entering directory /root/gcc-6.3.0_build/x86_64-redhat-linux-gnu/libitm/testsuite' make[4]: Entering directory /root/gcc-6.3.0_build/x86_64-redhat-linux-gnu/libitm/testsuite'
make[4]: Nothing to be done for install-exec-am'. make[4]: Nothing to be done for install-data-am'.
make[4]: Leaving directory /root/gcc-6.3.0_build/x86_64-redhat-linux-gnu/libitm/testsuite' make[3]: Leaving directory /root/gcc-6.3.0_build/x86_64-redhat-linux-gnu/libitm/testsuite'
make[3]: Entering directory /root/gcc-6.3.0_build/x86_64-redhat-linux-gnu/libitm' true  DO=all multi-do # make make[4]: Entering directory /root/gcc-6.3.0_build/x86_64-redhat-linux-gnu/libitm'
true  DO=install multi-do # make
/usr/bin/mkdir -p '/usr/lib/../lib64'
/usr/bin/install -c -m 644 libitm.spec '/usr/lib/../lib64'
/usr/bin/mkdir -p '/usr/lib/../lib64'
/bin/sh ./libtool   --mode=install /usr/bin/install -c   libitm.la '/usr/lib/../lib64'
libtool: install: /usr/bin/install -c .libs/libitm.so.1.0.0 /usr/lib/../lib64/libitm.so.1.0.0
libtool: install: (cd /usr/lib/../lib64 && { ln -s -f libitm.so.1.0.0 libitm.so.1 || { rm -f libitm.so.1 && ln -s libitm.so.1.0.0 libitm.so.1; }; })
libtool: install: (cd /usr/lib/../lib64 && { ln -s -f libitm.so.1.0.0 libitm.so || { rm -f libitm.so && ln -s libitm.so.1.0.0 libitm.so; }; })
libtool: install: /usr/bin/install -c .libs/libitm.lai /usr/lib/../lib64/libitm.la
libtool: install: /usr/bin/install -c .libs/libitm.a /usr/lib/../lib64/libitm.a
libtool: install: chmod 644 /usr/lib/../lib64/libitm.a
libtool: install: ranlib /usr/lib/../lib64/libitm.a
libtool: finish: PATH="/usr/local/nvidia/bin:/usr/local/cuda/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/sbin" ldconfig -n /usr/lib/../lib64
ldconfig: /usr/lib/../lib64/libstdc++.so.6.0.22-gdb.py is not an ELF file - it has the wrong magic bytes at the start.

Libraries have been installed in:
/usr/lib/../lib64
If you ever happen to want to link against installed libraries
in a given directory, LIBDIR, you must either use libtool, and
specify the full pathname of the library, or use the `-LLIBDIR'
flag during linking and do at least one of the following:

add LIBDIR to the `LD_LIBRARY_PATH' environment variable
during execution
add LIBDIR to the `LD_RUN_PATH' environment variable
during linking
use the `-Wl,-rpath -Wl,LIBDIR' linker flag
have your system administrator add LIBDIR to `/etc/ld.so.conf'

See any operating system documentation about shared libraries for
more information, such as the ld(1) and ld.so(8) manual pages.
/usr/bin/mkdir -p '/usr/share/info'
/usr/bin/install -c -m 644 ../../../gcc-6.3.0/libitm/libitm.info '/usr/share/info'
install-info --info-dir='/usr/share/info' '/usr/share/info/libitm.info'
make[4]: Leaving directory /root/gcc-6.3.0_build/x86_64-redhat-linux-gnu/libitm' make[3]: Leaving directory /root/gcc-6.3.0_build/x86_64-redhat-linux-gnu/libitm'
make[2]: Leaving directory /root/gcc-6.3.0_build/x86_64-redhat-linux-gnu/libitm' make[2]: Entering directory /root/gcc-6.3.0_build/x86_64-redhat-linux-gnu/libatomic'
Making install in testsuite
make[3]: Entering directory /root/gcc-6.3.0_build/x86_64-redhat-linux-gnu/libatomic/testsuite' make[4]: Entering directory /root/gcc-6.3.0_build/x86_64-redhat-linux-gnu/libatomic/testsuite'
make[4]: Nothing to be done for install-exec-am'. make[4]: Nothing to be done for install-data-am'.
make[4]: Leaving directory /root/gcc-6.3.0_build/x86_64-redhat-linux-gnu/libatomic/testsuite' make[3]: Leaving directory /root/gcc-6.3.0_build/x86_64-redhat-linux-gnu/libatomic/testsuite'
make[3]: Entering directory /root/gcc-6.3.0_build/x86_64-redhat-linux-gnu/libatomic' true  DO=all multi-do # make make[4]: Entering directory /root/gcc-6.3.0_build/x86_64-redhat-linux-gnu/libatomic'
true  DO=install multi-do # make
/usr/bin/mkdir -p '/usr/lib/../lib64'
/bin/sh ./libtool   --mode=install /usr/bin/install -c   libatomic.la '/usr/lib/../lib64'
libtool: install: /usr/bin/install -c .libs/libatomic.so.1.2.0 /usr/lib/../lib64/libatomic.so.1.2.0
libtool: install: (cd /usr/lib/../lib64 && { ln -s -f libatomic.so.1.2.0 libatomic.so.1 || { rm -f libatomic.so.1 && ln -s libatomic.so.1.2.0 libatomic.so.1; }; })
libtool: install: (cd /usr/lib/../lib64 && { ln -s -f libatomic.so.1.2.0 libatomic.so || { rm -f libatomic.so && ln -s libatomic.so.1.2.0 libatomic.so; }; })
libtool: install: /usr/bin/install -c .libs/libatomic.lai /usr/lib/../lib64/libatomic.la
libtool: install: /usr/bin/install -c .libs/libatomic.a /usr/lib/../lib64/libatomic.a
libtool: install: chmod 644 /usr/lib/../lib64/libatomic.a
libtool: install: ranlib /usr/lib/../lib64/libatomic.a
libtool: finish: PATH="/usr/local/nvidia/bin:/usr/local/cuda/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/sbin" ldconfig -n /usr/lib/../lib64
ldconfig: /usr/lib/../lib64/libstdc++.so.6.0.22-gdb.py is not an ELF file - it has the wrong magic bytes at the start.

Libraries have been installed in:
/usr/lib/../lib64
If you ever happen to want to link against installed libraries
in a given directory, LIBDIR, you must either use libtool, and
specify the full pathname of the library, or use the `-LLIBDIR'
flag during linking and do at least one of the following:

add LIBDIR to the `LD_LIBRARY_PATH' environment variable
during execution
add LIBDIR to the `LD_RUN_PATH' environment variable
during linking
use the `-Wl,-rpath -Wl,LIBDIR' linker flag
have your system administrator add LIBDIR to `/etc/ld.so.conf'

See any operating system documentation about shared libraries for
more information, such as the ld(1) and ld.so(8) manual pages.
make[4]: Nothing to be done for install-data-am'. make[4]: Leaving directory /root/gcc-6.3.0_build/x86_64-redhat-linux-gnu/libatomic'
make[3]: Leaving directory /root/gcc-6.3.0_build/x86_64-redhat-linux-gnu/libatomic' make[2]: Leaving directory /root/gcc-6.3.0_build/x86_64-redhat-linux-gnu/libatomic'
make[1]: Leaving directory `/root/gcc-6.3.0_build'
Removing intermediate container 50fd9d638da9
---> e63687d816fe
Step 14/40 : RUN echo "/usr/local/lib64" > usrLocalLib64.conf &&     mv usrLocalLib64.conf /etc/ld.so.conf.d/ &&     ldconfig
---> Running in 61f9ee4389c0
ldconfig: /lib64/libstdc++.so.6.0.22-gdb.py is not an ELF file - it has the wrong magic bytes at the start.
Removing intermediate container 61f9ee4389c0
---> a68a994d4e53
Step 15/40 : RUN rm -rf ~/${gcc_release} ~/{gcc_release}_build
---> Running in bf9dcb44a448
Removing intermediate container bf9dcb44a448
---> a468492e906d
Step 16/40 : RUN ln -s /usr/bin/gcc /usr/local/cuda/bin/gcc
---> Running in 8a22049a937a
Removing intermediate container 8a22049a937a
---> 884ed279b087
Step 17/40 : RUN ln -s /usr/bin/g++ /usr/local/cuda/bin/g++
---> Running in c9ed1e715712
Removing intermediate container c9ed1e715712
---> b4336248122e
Step 18/40 : RUN wget https://github.com/Kitware/CMake/releases/download/v3.25.2/cmake-3.25.2-linux-x86_64.tar.gz
---> Running in 278d6a7456f2
--2023-08-26 18:47:39--  https://github.com/Kitware/CMake/releases/download/v3.25.2/cmake-3.25.2-linux-x86_64.tar.gz
Resolving github.com (github.com)... <IP_ADDRESS>
Connecting to github.com (github.com)|<IP_ADDRESS>|:443... connected.
Unable to establish SSL connection.
The command '/bin/sh -c wget https://github.com/Kitware/CMake/releases/download/v3.25.2/cmake-3.25.2-linux-x86_64.tar.gz' returned a non-zero code: 4
`

It failed to download the cmake tarball.  The URL is valid so there must be a problem with your network.  Does the wget work outside of docker?

If you cannot use the wget in the Docker to get cmake, it probably has something to do with your network. You can change the Dockerfile to use the cmake.tar.gz you installed from other method, and try like this to get cmake:
COPY /home/rjli/software/cmake-3.25.2-linux-x86_64.tar.gz /tmp/cmake-3.25.2-linux-x86_64.tar.gz
unzip the cmake tarball
RUN tar xzf /tmp/cmake-3.25.2-linux-x86_64.tar.gz -C /tmp
&& cp /tmp/cmake-3.25.2-linux-x86_64/bin/* /usr/local/bin
&& cp -r /tmp/cmake-3.25.2-linux-x86_64/share/cmake-3.25 /usr/local/share/

As the gnina/gnina:latest always report error like 'could not find GPU, boost error...(thread etc.)', I create a docker container from other image that has python and ubuntu, and build it by hand following the README, it works!
But I am thinking that is it necessary to use train.py in the same python environment which gnina  was intalled in? Because I found the 'import caffe' in train.py.


Invalid invites for training repo

Overview
TL;DR
The intro to GitHub training repo was sending invalid invites.
Extra Detail
I was running a session to walk beginners through the introduction to GitHub training. When they created new issues to get added as a collaborator they received an invite from teacher bot but all of the invites were invalid. My invite seemed to work. @hectorsector pointed me here.

@abdulajet thank you so much for flagging this to our attention last year. Thanks to your ping, we were able to take action internally and change up a few items so that invitations were, again, valid.
Closing this out as a success!

Dope! Great job team 😄


Adds support for custom pysmurf-controller docker service names

This PR adds support for setting docker service names for pysmurf-controller dockers. This will enable us to change docker services from ocs-pysmurf-s<slot> to ocs-<instance-id> by specifying manually the service names to use in the sys-config.
Related: https://github.com/simonsobs/ocs-deployment-configs/issues/126#issuecomment-2418366911

I definitely see @BrianJKoopman's frustration with the current setup so thanks for addressing this but can you describe what testing you've done before I approve?

Ok, I moved the operations for starting / stopping the pysmurf-controllers to a separate function so that they could be called and tested outside of a full hammer.
I also added the subcommand jackhammer controller <up/down> <slots>  to make it easier to manage pysmurf-controllers without looking up their instance-ids.
This has been tested on satp1.


Web -  Request money and split money report messages change positions

If you haven’t already, check out our contributing guidelines for onboarding and email<EMAIL_ADDRESS>to request to join our Slack channel!

Action Performed:

Request money from user A
Split money with User A
Notice the position change quickly from split money report being on top then goes to the bottom
Now go to any other chat and then return to the previous chat
Notice now the split bill report goes back to top.

Expected Result:
Request money report comes after the split bill report
Actual Result:
Request money and split money report messages change positions
Workaround:
Unknown
Platforms:

Which of our officially supported platforms is this issue occurring on?

[ ] Android / native
[ ] Android / Chrome
[ ] iOS / native
[ ] iOS / Safari
[ ] MacOS / Chrome / Safari
[ ] MacOS / Desktop

Version Number: <IP_ADDRESS>
Reproducible in staging?: y
Reproducible in production?: y
If this was caught during regression testing, add the test name, ID and link from TestRail:
Email or phone of affected tester (no customers):
Logs: https://stackoverflow.com/c/expensify/questions/4856
Notes/Photos/Videos: Any additional supporting documentation

https://github.com/Expensify/App/assets/93399543/398f3e25-c54e-4097-80d9-6df79ae48c3e
Expensify/Expensify Issue URL:
Issue reported by: @daveSeife
Slack conversation: https://expensify.slack.com/archives/C049HHMV9SM/p1690139619133119
View all open jobs on GitHub

I've tried to reproduce, but this just ends up showing a single IOU, with the request and the split in the correct order.
Single IOU:

Request and split in the correct order

Closing as needs reproduction steps!

This is still reproducible with the above reproduction steps. @conorpendergrast can you please share a video so I can help you in the reproduction process?


fix settings

with_kwargs(settings; Export_slider_server_url = "./") takes the defaults and ignores all user settings. This broke my course website where I define a custom port using the kwarg.

Ps. I saw only now that #28 was trying to fix the same.

Thanks! I moved this logic to https://github.com/JuliaPluto/PlutoSliderServer.jl/blob/29d9f5b03509036c938e199e7d6f8863a126f53b/src/Actions.jl#L235-L244 . This solves your issue, since the setting settings.Export.slider_server_url takes precedence.


merge package from arlac77/npm-package-template

package.json

chore(package<EMAIL_ADDRESS>chore(scripts): cover@#overwrite c8 --temp-directory build/coverage ava && c8 report -r lcov --temp-directory build/coverage
chore(package): add nyc from template
chore(package): set $.ava.require='esm' as in template
chore(package): set $.ava.files='tests/-test.js,tests/-test.mjs' as in template
chore(package): set $.ava.extensions='js,mjs' as in template

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Links to Welsh versions of content should be understandable even when out of context

This issue is from May 2023 external accessibility audit report.
WCAG Reference:
2.4.9 Link Purpose (Link Only) (Level AAA)
Understanding Link Purpose (Link Only) | How to Meet Link Purpose (Link Only)
Issue ID:
DAC_Link_Purpose_Out_Of_Context_01
URLs:
https://signin.account.gov.uk/sign-in-or-create
Screen shots

The link provided for users to change the language of the page to Welsh, has been included within a paragraph to provide that context. However, for users navigating the page out of context using the link text alone, the links purpose is not made entirely clear, as the link text is only presented to the user as ‘In Welsh (Cymraeg)’.
Current code ref(s)
#main-content > div > div > div
Screen-reader comments

“When I moved out of context for example by using the JAWS links dialogue menu ‘Insert + f7’ I located a link which began with the phrase ‘In Welsh’. It was not immediately clear to me from the link text what would be displayed in Welsh.

When I moved in context with the down arrow key for example, I found that a piece of text advising me that the service could be displayed in Welsh appeared directly before the link but had not been included within the link text itself.

Including this text within the link text will enable me to make an informed selection both in and out of context.”

Solution
Ensure that links are descriptive enough when navigating out of context, allowing for users of screen reading assistive technologies to discern their purpose and functionality when doing so.
The link should include more text to clearly inform the user that it is used to change the language to Welsh.

This issue has been assessed to not be a high-severity accessibility concern. It doesn't appear to meet any of our 3 criteria for a high-severity accessibility concern.

Despite reasonable evidence that it fails a WCAG criterion, there is no evidence that this makes it difficult or impossible for some people to complete certain tasks. This doesn't mean we shouldn't work to improve the experience, though. ❌
It does not appear to affect the accessibility of essential services or critical infrastructure. ❌
There is no blocker to individual service teams efficiently resolving it on their own. ❌

As such, this will not be flagged as a high-priority issue.
We plan to reach out to the One Login team soon, to inform them of the accessibility concern and how it affects their service.
In the coming weeks we will investigate whether it fails WCAG level AAA criterion: 2.4.9 Link Purpose (Link Only).


Error: Login Error Method 'MeteorDown:login' not found [404]

So what i need is to login to subscribe to a publication so I set the auth and the array of userIds...
meteorDown.run({
  concurrency: 250,
  url: 'myurl.net',
  key: 'MY_SUPER_SECRET_KEY',
  auth: {
    userIds: ['xxxxxx'],
  }
});

I couldn't find anywhere in which this problem happens, I followed the guide exactly as it says and not working...
I'm getting the publication error of notLoggedIn using latest meteor-down version: 2.6.0.
'MeteorDown:login' seems to be undefined for what I saw from the code...
{
  error: 'x.publication.dashboard.notLoggedIn',
  reason: 'Must be logged in to view x.',
  message: 'Must be logged in to view x. [x.publication.dashboard.notLoggedIn]',
  errorType: 'Meteor.Error'
}

You need to add meteorhacks:meteor-down package to the app being tested and export an enviroment variable METEOR_DOWN_KEY.


Enable fortran preprocessor for fortran interface and then add same l…

…ogic in fortran interface as is in the c/c++ interface.

PR Summary
Fortran interface build issues can abound when certain Eos's are disabled via preprocessor macros. This PR enables the preprocessor in the fortran interface and adds the same preprocessor logic that exists in the c/c++ interface files in the fortran interface files to resolve fortran build/link issues.

PR Checklist

[x] Adds a test for any bugs fixed. Adds tests for new features.
[x] Format your changes by using the make format command after configuring with cmake.
[x] Document any new features, update documentation for changes made.
[x] Make sure the copyright notice on any files you modified is up to date.
[x] After creating a pull request, note it in the CHANGELOG.md file
[x] If preparing for a new release, update the version in cmake.

@dholladay00 we can pull the trigger when you tell us this is ready

@dholladay00 is there anything holding this MR up or can we merge?

This is ready to merge @jhp-lanl

Thanks @dholladay00 !


chore: Use "Relates to" instead of "Fixes"

Use "Relates to" instead of "Fixes" given the majority of our PRs need doc/Helm changes as well and we only want to close afterward
Checklist

[x] Commits are signed with Developer Certificate of Origin (DCO - learn more)
[x] Tests have been added
[x] A PR is opened to update our Helm chart (repo) (if applicable, ie. when deployment manifests are modified)
[x] A PR is opened to update the documentation on (repo) (if applicable)
[x] Changelog has been updated and is aligned with our changelog requirements

I don't like this change honestly. It is adding extra work for us. And I don't see a reason for this change? The majority of PRs is fixing the issue, only very small subset is not. And we are merging the main (code) PR once everything else is also ready. So I vote for reverting.

Maybe I understood it wrong, but don't we have an automation for closing and updating the issue status (to Ready to ship) when PRs are merged?

Maybe I understood it wrong, but don't we have an automation for closing and updating the issue status (to Ready to ship) when PRs are merged?

🤷♂ If that's the case, then please disregard my previous comment 😄

But maybe I totally wrong, it's Monday morning. Let's wait till @tomkerkhove confirm or disconfirm this

I don't like this change honestly. It is adding extra work for us. And I don't see a reason for this change? The majority of PRs is fixing the issue, only very small subset is not, it is not vice versa. So it makes sense to have Fixes here -> to cover most cases. This is just adding manual work, where we have to go to do the issue and close it after merging.
And anyway, we are merging the main (code) PR once everything else is also ready, so I really don't understand what drove this change?
I vote for reverting.

I actually see it the other way around with all the PRs that I open - Majority needs doc/chart changes so closing the issue with PR here only gives the wrong impression but if it's just me then I'll keep changing the PRs manually and we need to create the habit of checking them.

Maybe I understood it wrong, but don't we have an automation for closing and updating the issue status (to Ready to ship) when PRs are merged?

If an issue gets closed, then it goes in that status. But it should only do that once everything is ready.

Majority needs doc/chart changes so closing the issue with PR here only gives the wrong impression but if it's just me then I'll keep changing the PRs manually and we need to create the habit of checking them.

Aren't we doing this at the moment? At least I am doing this and we have the list in the template, so good to me.

okey, I understood it wrong. In the current case, I don't have any strong opinion. I prefer closing the issues automatically with the PR but I feel comfortable also with the other option too

Majority needs doc/chart changes so closing the issue with PR here only gives the wrong impression but if it's just me then I'll keep changing the PRs manually and we need to create the habit of checking them.

Aren't we doing this at the moment? At least I am doing this and we have the list in the template, so good to me.

I don't know, probably, but keep seeing them on new PRs which makes sense because of the template.
Let's revert and keep doing the manual edits to "relates to" where multiple PRs must be linked to the issue.


[10.x] Add check if the string is hex color

This PR adds a to check if the string is a hex color
$isHexColor = Str::isHexColor('#FFFFFF');

// Or

$isHexColor = str('#FFFFFF')->isHexColor();

What could be the practical application of this? While a validator rule would be valuable, a string helper is not likely to see frequent use.

Hello @ahinkle,
Using Str::isHexColor() can be beneficial in various scenarios, including:

Unit Testing: It helps ensure the code correctly handles hex color codes and identifies potential issues related to invalid color codes.

Third-Party Integrations: It prevents errors caused by invalid color codes received from external sources when integrating with third-party APIs or libraries.

Data Cleaning and Sanitization: It filters out invalid hex color codes, ensuring data integrity when processing data from external sources or user input.


Can't configure project

Every time I try to configure a project, I get this error.
This is when I obviously have a project open and focused on a JS file in it.

Sometimes I also get this..

Same issue. Can't configure.

is this still an issue?


Typo "Azure Blob storage"→"Azure Blob Storage"

https://docs.microsoft.com/en-us/azure/storage/blobs/storage-quickstart-blobs-xamarin

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

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

The changes match the current guidance in the Microsoft-internal cloud style guide; merging.

The changes match the current guidance in the Microsoft-internal cloud style guide; merging.


Update dependencies to avoid vulnerabilities

Expected Behaviour
Update the necessary npm packages to avoid having vulnerabilities
Full log listed below
Actual Behaviour
14 vulnerabilities (4 moderate, 10 high) are found when running npm i
Reproduce Scenario (including but not limited to)
Steps to Reproduce
Platform and Version
Node v16.4.2 (npm v8.5.0)
Sample Code that illustrates the problem
Logs taken while reproducing problem
npm audit report
glob-parent  <5.1.2
Severity: high
Regular expression denial of service in glob-parent - https://github.com/advisories/GHSA-ww39-953v-wcq6
fix available via npm audit fix
node_modules/watchpack-chokidar2/node_modules/glob-parent
chokidar  1.0.0-rc1 - 2.1.8
Depends on vulnerable versions of glob-parent
node_modules/watchpack-chokidar2/node_modules/chokidar
watchpack-chokidar2  *
Depends on vulnerable versions of chokidar
node_modules/watchpack-chokidar2
watchpack  1.7.2 - 1.7.5
Depends on vulnerable versions of watchpack-chokidar2
node_modules/watchpack
webpack  4.44.0 - 4.46.0
Depends on vulnerable versions of watchpack
node_modules/webpack
node-sass  2.0.0 - 6.0.1
Severity: high
Improper Certificate Validation in node-sass - https://github.com/advisories/GHSA-r8f7-9pfq-mjmv
Depends on vulnerable versions of meow
Depends on vulnerable versions of node-gyp
No fix available
node_modules/node-sass
@nc/fe-build  *
Depends on vulnerable versions of node-sass
node_modules/@nc/fe-build
postcss  <7.0.36
Severity: moderate
Regular Expression Denial of Service in postcss - https://github.com/advisories/GHSA-566m-qj78-rww5
fix available via npm audit fix
node_modules/@nc/fe-build/node_modules/stylelint-no-unsupported-browser-features/node_modules/postcss
stylelint-no-unsupported-browser-features  <=3.0.0
Depends on vulnerable versions of postcss
node_modules/@nc/fe-build/node_modules/stylelint-no-unsupported-browser-features
@nc/stylelint-config  2.0.0
Depends on vulnerable versions of stylelint-no-unsupported-browser-features
node_modules/@nc/fe-build/node_modules/@nc/stylelint-config
tar  <=4.4.17
Severity: high
Arbitrary File Creation/Overwrite via insufficient symlink protection due to directory cache poisoning using symbolic links - https://github.com/advisories/GHSA-qq89-hq3f-393p
Arbitrary File Creation/Overwrite via insufficient symlink protection due to directory cache poisoning using symbolic links - https://github.com/advisories/GHSA-9r2w-394v-53qc
Arbitrary File Creation/Overwrite due to insufficient absolute path sanitization - https://github.com/advisories/GHSA-3jfq-g458-7qm9
Arbitrary File Creation/Overwrite via insufficient symlink protection due to directory cache poisoning - https://github.com/advisories/GHSA-r628-mhmh-qjhw
No fix available
node_modules/tar
node-gyp  <=3.8.0
Depends on vulnerable versions of tar
node_modules/node-gyp
node-sass  2.0.0 - 6.0.1
Depends on vulnerable versions of meow
Depends on vulnerable versions of node-gyp
node_modules/node-sass
@nc/fe-build  *
Depends on vulnerable versions of node-sass
node_modules/@nc/fe-build
trim-newlines  <3.0.1
Severity: high
Regular Expression Denial of Service in trim-newlines - https://github.com/advisories/GHSA-7p7h-4mm5-852v
No fix available
node_modules/node-sass/node_modules/trim-newlines
meow  3.4.0 - 5.0.0
Depends on vulnerable versions of trim-newlines
node_modules/node-sass/node_modules/meow
node-sass  2.0.0 - 6.0.1
Depends on vulnerable versions of meow
Depends on vulnerable versions of node-gyp
node_modules/node-sass
@nc/fe-build  *
Depends on vulnerable versions of node-sass
node_modules/@nc/fe-build

Can't be done standalone, it all depends on Webpack upgrade https://github.com/Netcentric/fe-build/issues/31.


added prefix support to listFileVersions

More options could be added, or just accept what the user inputs as the option.


fix typo in ADR 007

Changes:

Fixed a typo in the ADR 007: Minimal Changes to Tendermint

Np! Closing in favor of https://github.com/celestiaorg/celestia-core/pull/1561


Enable Dynamic DNS for OCF's on-prem hardware

(This isn't strictly related to nowcasting_dataset but I just wanted a public place to track this issue!)
@jacobbieker says:

I have Namecheap for my URL, and use DDClient on my server to continually update the IP address that the URL points to https://www.namecheap.com/support/knowledgebase/article.aspx/583/11/how-do-i-configure-ddclient/ I went with this as most of the dynamic dns companies basically do the same thing and charge for it. DDClient on the other hand is just basically a cron job that runs every 5 minutes and sends the update to Namecheap, or I think pretty much any domain registrar. After I configured it years ago its worked flawlessly, so I'd definitely recommend it! The service I used before they started making you 'confirm' the domain every 30 days was https://www.noip.com/ which also worked fine

openclimatefix.org's domain registrar is cloudflare.
I've asked Flo for admin access to OCF's cloudflare account.
Here are some docs for how to setup ddclient with cloudflare (in summary: use the latest version of ddclient from github!):

community.cloudflare discussion solution to getting ddclient working with cloudflare, including a working solution, posted April 2020.
community.cloudflare discussion on ddclient problems, without a solution, but which points to the forum post linked to above
Cloudflare docs: Manage dynamic IPs in Cloudflare DNS programmatically

Update:  The discussion linked to above recommended installing ddclient from source because, back then, ubuntu included ddlient v3.8.
But things have changed since then...
Ubuntu 21.04 includes ddclient 3.9.1, which is the most recent release on github.  A quick code search on github of ddclient v3.9.1 suggests that v3.9.1 should use the correct URL of api.cloudflare.com/client/v4.

The Virgin Media Hub 4 doesn't have the ability to notify a DDNS service of changes of IP address, so I must use ddclient (or similar) running on a machine on my home network (which, for now, will be the ML server.  But could be any machine on the home network, IIUC, including an always-on RPi).
The Virgin Media Hub 4 does do port forwarding, though (Advanced settings -> Security -> Port forwarding).

Actually, @flowirtz has suggested a much better alternative:  We should use Cloudflare's Zero Trust platform to secure SSH over a tunnel.

Done!


azblob: blob.StartCopyFromURL doesn't work with UTF-8 characters in the source blob

Bug Report
If I attempt to call blob.StartCopyFromURL from github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/blob on a source blob with UTF-8 characters then the call fails with the error.
--------------------------------------------------------------------------------
RESPONSE 400: 400 The metadata specified is invalid. It has characters that are not permitted.
ERROR CODE: InvalidMetadata
--------------------------------------------------------------------------------
<?xml version="1.0" encoding="utf-8"?><Error>InvalidMetadata<Message>The metadata specified is invalid. It has characters that are not permitted.
RequestId:ad893aa4-c01e-0073-6858-fff064000000
Time:2022-11-23T16:28:54.8170886Z</Message></Error>
--------------------------------------------------------------------------------

I think this is because the output of blob.Client().URL() is not correct. It might be that there is a better way of constructing the source URL for StartCopyFromURL - I don't know, and if there is, it should be in the docs!
Here is a reproducer - you will need to change account and containerName and make sure there are some credentials in the environment
package main

import (
	"bytes"
	"context"
	"fmt"
	"log"

	"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
	"github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/service"
)

const (
	account       = "https://XXXX.blob.core.windows.net/"
	containerName = "XXXX"
	// This is OK
	//blobName = `hello sausage/Hello/ " ' @ < > & +z.txt`
	// This fails
	blobName    = `世界.txt`
	newBlobName = "copytest2.bin"
)

func main() {
	ctx := context.TODO()

	// authenticate with Azure Active Directory
	// this picks up the az login credentials
	cred, err := azidentity.NewDefaultAzureCredential(nil)
	if err != nil {
		log.Fatalf("auth failed: %v", err)
	}

	// create a client for the specified storage account
	client, err := service.NewClient(account, cred, nil)
	if err != nil {
		log.Fatalf("create client failed: %v", err)
	}

	// Make data to upload
	var N int64 = 1024
	buf := make([]byte, N)
	in := bytes.NewReader(buf)

	fmt.Printf("Uploading blob %q, size %d\n", blobName, N)

	cnt := client.NewContainerClient(containerName)
	srcBlob := cnt.NewBlockBlobClient(blobName)

	// upload the file to the specified container with the specified blob name
	_, err = srcBlob.UploadStream(ctx, in, nil)
	if err != nil {
		log.Fatalf("upload failed %v", err)
	}

	// Copy the blob
	fmt.Printf("Calling StartCopyFromURL\n")
	dstBlob := cnt.NewBlockBlobClient(newBlobName)
	srcURL := srcBlob.URL()
	startCopy, err := dstBlob.StartCopyFromURL(ctx, srcURL, nil)
	if err != nil {
		log.Fatalf("start copy failed %v", err)
	}

	fmt.Printf("Copy status is %q\n", *startCopy.CopyStatus)
}

This produces
Uploading blob "世界.txt", size 1024
Calling StartCopyFromURL
2022/11/23 16:28:54 start copy failed PUT https://XXXX.blob.core.windows.net/XXXX/copytest2.bin
--------------------------------------------------------------------------------
RESPONSE 400: 400 The metadata specified is invalid. It has characters that are not permitted.
ERROR CODE: InvalidMetadata
--------------------------------------------------------------------------------
<?xml version="1.0" encoding="utf-8"?><Error>InvalidMetadata<Message>The metadata specified is invalid. It has characters that are not permitted.
RequestId:ad893aa4-c01e-0073-6858-fff064000000
Time:2022-11-23T16:28:54.8170886Z</Message></Error>
--------------------------------------------------------------------------------

Whereas if you remove the UTF-8 characters ``世界` from the source blob name then it works fine.
PS this was found by the rclone integration test suite

import path of package in question: github.com/Azure/azure-sdk-for-go/sdk/storage/azblob
SDK version: This reproduces on the latest release v0.5.1 and main (v0.5.2-0.20221123052627-63a8c23f3b78)
Specify the exact commit if possible: 63a8c23f3b78
output of go version: go version go1.19.1 linux/amd64

@ncw I had the same issue, it should work if you manually path escape the blob name, something like this
srcBlob := fs.containerClient.NewBlockBlobClient(url.PathEscape(source))

This is probably a workaround, no manual escaping was required with the old sdk, but I can live with it

Thanks @drakkan - I came up with a very similar workaround, but yours looks slightly neater!
I really think the SDK should be doing this itself though.

Thanks @drakkan - I came up with a very similar workaround, but yours looks slightly neater!
I really think the SDK should be doing this itself though.

I think the same workaround applies also to #19613. Basically the sdk join path and query string without escaping them. I think a proper fix should be applied in JoinPath

For client constructors that take a blob name, we will now URL path-encode the blobName parameter.  For constructors that take a full blob URL we will leave it as-is (according to the storage folks, this is consistent with how other SDKs behave).
The fix will roll out in v0.6.0.


[Task]: Fix displayed mana in tx details

mana is not displayed correctly in tx details after claiming rewards

To display correctly the mana we should do it this way:

Calculate the wallet "available" mana in the input section of the tx

match all outputs that you own by address unlock condition
match all outputs that you own by the address return if the output has an expired expiration time unlock condition at the time of the tx
available mana = potential + stored + genered rewards of all your owned outputs by the tx of the tx

Calculate the stored mana of all your owned outputs in the output section of the tx

match all outputs that you own only by address unlock condition

Mana = Outputs Mana - Inputs Mana


[microTVM] Update nrfjprog on reference virtual machine

This PR makes following changes:

It updates nrfjprog on reference machine to version 10.12.1 which fixes programming on nrf5340dk board.
Adds test for nrf5340dk board to RVM integration tests.

@areusch please take a look when you get a chance. Thanks!

thanks @mehrdadh !


Swing Points

Indicator that returns a swing direction when a swing occurs

Hey @lockyssmith -- thanks for another contribution. It looks like you didn't include the updates to the QuantConnect.Indicators.csproj file. Also, can we produce some test data for this indicator?

No worries @mchandschuh I'll incorporate your comments and include the test data as well as the updated QuantConnect.Indicators.csproj over the weekend

Hey @lockyssmith, closing this for now but feel free to reopen with the suggested fixes above.


Import Script Failing completely for an invalid item.

Brief bug description
Hi team,
I was doing data migration from excel sheet to Kontent Ai. for a content model using the Migration Toolkit.
What went wrong?
I encountered an issue that the content item name cannot be more than 200 characters. The issue is understood that the Kontent AI had some limitations on the content item name. But the migration script stopped importing the items. I believe this should not happen and it should move to next item skipping the item which has errors. I was importing around 67005 items and it failed after 11 hours just because some items had a content item name greater than 200 characters.
Repro steps
None.
Expected behavior
The script should still keep on importing the items and skip the invalid items and log it .
What is the correct behavior?
The script should still keep on importing the items and skip the invalid items and log it .
Test environment
Kontent Ai - UAT environment of a project.
Additional context

Screenshots
error screenshots

Migration script Screenshot

Hey @subhamAgarwal-cloud. I'm sorry for not getting back to you sooner, and thanks for the issue.
the migrations aren't rolled back after the migration toolkit fails, so you can also skip the item that was not able to migrate. That being said, being able to skip the item can be a feature for the migration-toolkit, therefore we might look into it. We will have to decide whether it will be default behavior or just behind some switch option.

Hi, @IvanKiral  by when can we hear on the implementation of Switch or the new feature? Any expected timeline?

Hi @subhamAgarwal-cloud,
I'll look at implementing it this week. If all goes well, I'll release an update by the end of the week.

This is similar to #10

Merged to main. I expect to release Tomorrow.


Prepare for release 0.9.0-preview.0

Issue number squatting Preparation PR for the 0.9.0 preview release!
Version 0.9 contains a lot of large interface changes that are intended to be solutions to long-standing problems in the API. A lot of good contributions have been merged in the past months, and they are ready for some real-world testing! Since the changes are rather large, we'll release a preview version to weed out any problems before actually committing to the version bump. If no problems are found, this will then proceed to become 0.9!
Draft status: we'll want to clear the other issues in the 0.9 milestone before merging this.

Updated README and CHANGELOG. The 0.9 milestone is almost done so I think this is ready for review!

Removed #514 from known issues. Removed the information about 4.0 support from known issues as well, since it's mentioned in README.

Rebased and updated CHANGELOG and README. I have trimmed most example section in favor of the tutorial in the book. Please tell me if this is a good direction!

Planning to finish the migration guide and publish the version tomorrow!

bors r+

To authors of third-party resources:
We're about to release version 0.9, which contains many breaking changes that make it incompatible with older resources for 0.8.x. If you're willing to update your tutorials / projects for 0.9 (preview release), please let us know. Third-party resources that are not updated will be removed from README at 0.9 release.
Cc: @tom-leys @hagsteel @paytonrules @tommywalkie

I've updated my guide.

There’s a lot here, and my part two is still in progress.
What I may do is go ahead and write a part three that’s - “Updating to version 0.9”.
On Jul 10, 2020, 11:44 AM -0500, toasteater<EMAIL_ADDRESS>wrote:

To authors of third-party resources:
We're about to release version 0.9, which contains many breaking changes that make it incompatible with older resources for 0.8.x. If you're willing to update your tutorials / projects for 0.9 (preview release), please let us know. Third-party resources that are not updated will be removed from README at 0.9 release.
Cc: @tom-leys @hagsteel @paytonrules @tommywalkie
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or unsubscribe.

@toasteater @karroffel Thanks for the update ! Gotta look at CHANGELOG and update my guide 👍

As the book is in progress it could really use more explanation and examples around Ref/TRef and assume_safe and all it's variations. I'll give an example for clarification:
I'm moving my 0.8 code over to 0.9, and as part of my code I had a struct that held an Optional sprite, that's been changed to fit:
pub struct Enemy {
    sprite: Option<Ref<Sprite>>,
...
}

When I create the sprite I give it a name and assign it a texture at random from the resources. Unfortunately the entire function is still unsafe. At this time I create a mutable shared ref, and assume it's safe. After setting the texture I add the child, and then after it's added I save a reference - making sure to claim it. This compiles, huzzah, but I'm 99% sure it's wrong.
    #[export]
    unsafe fn _enter_tree(&mut self, owner: &Node2D) {
        /* ...  */
        let mut sprite = Sprite::new().into_shared().assume_safe();
        let sprite_name = /* irrelevant */
        let mut resource_loader = ResourceLoader::godot_singleton();
        let texture = /* irrelevant *

        sprite.set_texture(texture);
        owner.add_child(sprite, false);
        self.sprite = Some(sprite.claim());
    }


#36 add task for fetching contributors and store to file

The idea is that fetchContributorsFromGitHub task is common for generation release notes and adding contributors to pom.xml.

Thank you! Will review later today!

I changed so much code around your changes that I'll probably merge it for you... :)

No problem, feel free to merge:-)
I will look on changes in free time to learn more.
13 kwi 2017 10:17 AM "Szczepan Faber"<EMAIL_ADDRESS>napisał(a):

I changed so much code around your changes that I'll probably merge it for
you... :)
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/mockito/mockito-release-tools/pull/65#issuecomment-293823901,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAvNykd8allrIoWeC0g8Sr187vsh04h9ks5rvdoQgaJpZM4M4AwU
.

I think a PR is ready to merge. Additional work for finish #36 is needed.


BUG: Adding LinkedIn in the footer section of About Us page

Is there an existing issue for this?

[X] I have searched the existing issues

What happened?
the footer section is missing the LinkedIn social icon and some of the social icon like Twitter and Instagram don't work.

i would like to work on this issue, please assign it to me under GSSOC'24
Record

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

@anuragverma108 @huamanraj please assign this issue to me under GSSOC'24

Assigned!
Make sure to attach before & after screenshots in your PR and include the issue number.
Also, please star the repo before working on it. Happy open-source contributing!

Assigned!
Make sure to attach before & after screenshots in your PR and include the issue number.
Also, please star the repo before working on it. Happy open-source contributing!


Memory issue

Per analysis of a heap dump by a member of the Citizens team (we are tracking down memory leaks in Citizens):
me.lucko.luckperms.bukkit.model.server.LPSubscriptionMap is a special type retained by
LuckPerms as its official way of implementing a permissions system [...]

It essentially has a list of every permission string it knows about, and each perm value has a map
of player entities to a boolean value object (true/false whether they have the permission). All 5588
player entities and then also some more somehow (5614 entries. Possibly a few of non-player types.
Maybe perm groups or similar are stuck in there as well) are retained. Luckily that ends up only
being 60MB of space wasted [...] in this dump (though that number is likely
lower than reality, as it discounts all memory also retained by other memory leaks. A few hundred
MB are in use by the random outdated NPC entity objects that are being held as a leak).

They suggest that this issue should be examined and resolved. Passing it on...

Apologies, I wrote the text in the quote above as a side note while diagnosing a separate issue, didn't look too far into it. I believe the issue mentioned there roots in the way Bukkit handles permissions, and isn't noticeably worsened in any way by LuckPerms injecting into it. I just blamed LuckPerms initially there as it was the type involved (which, after actually looking, is just a swap out type placed into Bukkit) and I for some reason made the silly assumption that Bukkit permissions aren't implemented terribly, and that the implementation I was looking indirectly at in a heapdump was a decision made by LuckPerms, which it actually isn't. So it's not a LuckPerms issue.


No docker image at docker hub

Hey,
I would like to create a contact form for a Hugo website. Is this software still under developement? There is no rchakode/hugo-mx-gateway:latest image available although your docs tell me to use it.
Best!

Hi @sr-verde ,
Thank you to have reported this.
Due to a typo the image  was not pushed at the right repo.
It shall be fixed now.

Wonderful! An thanks for the really fast response.


[Feature Request] Support the scale sub-resource for Clusters

We would like to utilize the vertical pod autoscaler to automatically scale the PG pods in the Cluster. The VPA can support managing pods of custom resources as long as they implement the scale sub-resource. It would be great to have that for the Cluster CRD.
Example VPA Manifest
apiVersion: autoscaling.k8s.io/v1
kind: VerticalPodAutoscaler
metadata:
  creationTimestamp: "2023-08-11T19:53:06Z"
  generation: 2
  name: primary-api-pg
  namespace: primary-api
  resourceVersion: "5833222"
  uid: 307a843d-9891-4a0c-8a4c-b6c05827697e
spec:
  targetRef:
    apiVersion: postgresql.cnpg.io/v1
    kind: Cluster
    name: primary-api-pg
  updatePolicy:
    updateMode: Auto

Current Error
Cannot get target selector from VPA's targetRef. Reason: Unhandled targetRef postgresql.cnpg.io/v1 / Cluster / primary-api-pg, last error Resource primary-api/primary-api-pg has an empty selector for scale sub-resource

More info on the implementation spec here.

Good point! Looks like the only thing we are missing is the scaleselector

Need this also. Can I propose a PR ?

Here is my workaround:

disable cnpg webhooks, here are the values passed to the official cnpg chart

webhook:
    mutating:
      create: false
    validating:
      create: false

add a kyverno rule to mutate the cluster crd and the clusters

apiVersion: kyverno.io/v1
kind: ClusterPolicy
metadata:
  name: cnpg-cluster-scale-selector
spec:
  background: true
  generateExisting: true
  mutateExistingOnPolicyUpdate: true
  useServerSideApply: true
  rules:
    - name: add-spec-selector-to-crd
      match:
        resources:
          kinds:
            - CustomResourceDefinition
          names:
            - clusters.postgresql.cnpg.io
      mutate:
        targets:
          - apiVersion: apiextensions.k8s.io/v1
            kind: CustomResourceDefinition
            name: clusters.postgresql.cnpg.io
        patchStrategicMerge:
          spec:
            versions:
              - (name): v1
                schema:
                  openAPIV3Schema:
                    type: object
                    served: true
                    storage: true
                    properties:
                      spec:
                        properties:
                          selector:
                            type: string
                subresources:
                  scale:
                    labelSelectorPath: .spec.selector
                    specReplicasPath: .spec.instances
                    statusReplicasPath: .status.instances
    - name: add-spec-selector-to-clusters
      match:
        resources:
          kinds:
            - postgresql.cnpg.io/v1/Cluster
      mutate:
        targets:
          - apiVersion: postgresql.cnpg.io/v1
            kind: Cluster
        patchStrategicMerge:
          spec:
            selector: "cnpg.io/cluster={{ request.object.metadata.name }}"

and my vpa:
apiVersion: autoscaling.k8s.io/v1
kind: VerticalPodAutoscaler
metadata:
  name: my-vpa
spec:
  targetRef:
    apiVersion: postgresql.cnpg.io/v1
    kind: Cluster
    name: my-pg-cluster
  updatePolicy:
    updateMode: "Off"

and I can see the provided recommendations from the vpa
tada !!!

I finally had problem caused by this issue: https://github.com/cloudnative-pg/cloudnative-pg/issues/3753 so I reactived webhook and removed a part using the following manual patch
and after upgraded cnpg to latest version the kyverno policy part that update the crd didn't work anymore, so
here is my tricky solution for now
kubectl -n cnpg patch crd clusters.postgresql.cnpg.io --type json --patch-file patches/cluster-crd.patch.yaml
kubectl patch mutatingwebhookconfiguration cnpg-mutating-webhook-configuration --type=json  --patch-file patches/webhook.patch.yaml

patches/cluster-crd.patch.yaml:
[
  {
    "op": "add",
    "path": "/spec/versions/0/schema/openAPIV3Schema/properties/spec/properties/selector",
    "value": { "type": "string" },
  },
  {
    "op": "add",
    "path": "/spec/versions/0/subresources/scale/labelSelectorPath",
    "value": ".spec.selector",
  },
]

patches/webhook.patch.yaml:
[{ "op": "remove", "path": "/webhooks/1" }]

and in argocd applicationset set.templatate.spec:
ignoreDifferences:
        - group: admissionregistration.k8s.io
          kind: MutatingWebhookConfiguration
          jsonPointers:
            - /webhooks
        - group: apiextensions.k8s.io
          kind: CustomResourceDefinition
          jsonPointers:
            - /spec/versions/0/schema/openAPIV3Schema/properties/spec/properties/selector
            - /spec/versions/0/subresources/scale/labelSelectorPath

and the new kyverno policy:
apiVersion: kyverno.io/v1
kind: ClusterPolicy
metadata:
  name: cnpg-cluster-scale-selector
spec:
  background: true
  generateExisting: true
  mutateExistingOnPolicyUpdate: true
  useServerSideApply: true
  rules:
    - name: add-spec-selector-to-clusters
      match:
        resources:
          kinds:
            - postgresql.cnpg.io/v1/Cluster
      mutate:
        targets:
          - apiVersion: postgresql.cnpg.io/v1
            kind: Cluster
        patchStrategicMerge:
          spec:
            selector: "cnpg.io/cluster={{`{{ request.object.metadata.name }}`}}"

@gbartolini Are you open to a PR here? I think above demonstrates this is just a small config change.

@gbartolini I want to present a case for getting this into the roadmap for 1.25:

Vertical autoscaling is a really powerful feature, especially for databases where horizontal scaling isn't possible / practical. This would help CNPG reach parity with other operators and managed postgres services. This issue is in the top 10 most requested features (by 👍🏻 ) for CNPG currently.

The level of effort for the change should be low. This really only impacts the CRDs (though some logic will need to be added to keep the .spec.selector in sync).

This update is 100% backwards compatible.

Both @devthejo and I have verified that with the changes outlined above, the VPA integrates well.

Happy to take a crack at it but also want to get directional sign-off from a maintainer first.

@gbartolini Wanted to circle back here to see if there were any thoughts here from the project maintainers.
I am happy to implement this if given the OK.


Feature Flags

As we have more and more usable features being built for prod, we do run into scenarios where new updates or introduction of new features cause potential problems with the existing product features and services we have to offer our users.
We want to mitigate potential deterioration in user's experiences by controlling to what number of users we release the new changes to.
This is where the feature flags come in. We start a slow release of the product to 2% users, see if we have any new bugs showing up, then dial up the release to 10%, 25%, 50% and then a 100%
This ensures we catch bugs early and solve them, before releasing to a wide range of audiences.
Frontend: https://github.com/Real-Dev-Squad/website-dashboard/issues/37
Figma Link

A good reference for understanding what Feature Flag typically means and how they are implemented:

https://martinfowler.com/articles/feature-toggles.html
https://medium.com/ecovadis-engineering/using-feature-toggle-in-a-react-application-part-1-ee34a0e72cf4


Add Algolia docsearch

This PR add Algolia docsearch to the vuejs doc.
You can see it live here: https://vuejs.algolia.com/guide/
Here is a preview:

@maxiloc we are live! Thanks a lot, this is awesome!

@maxiloc btw, we can totally use this also for http://guide.meteor.com/ - feel free to submit a PR at https://github.com/meteor/guide/tree/master/site , it's also using Hexo :)

Looks great guys :+1:

@yyx990803 Glad that you like it, will work on the meteor one tomorrow

Very useful, good job :+1:

@maxiloc
Great !! :+1:
Can we support the japanese translation site?
That's hosted with vuejs/jp.vuejs.org repository.

@maxiloc sorry to bother you again, but we recently moved the Chinese docs to a slightly different domain so that it is faster to access for Chinese users (DNS inside China): http://vuejs.org.cn/
Would you mind adding an index for that site instead of the previous cn.vuejs.org? I sure hope there's an automated way to do this myself, but it seems there is none yet.

@yyx990803 Just fixed it. For now we need to modify our crawler manually.
We are on the way to automate everything and let you fix those kind of issues by yourself.
Feel free to ping me anytime if you have any issue (We are pretty reactive :smile:)

@maxiloc wow that's fast - thanks for the awesome support :+1:


Make SLOW_COMMAND_TIMEOUT a configuration option

Thank you so much for your work on https://github.com/redis-rb/redis-cluster-client/issues/286 which addressed adding an override for slow commands.
This builds upon that and adds a configuration option for this timeout that can be passed directly to the client. This will allow the option to be contained within the client configuration and remove the need to specify any environment variables outside of said configuration.

Thank you!


maas_common.keystone_auth should take a token_file parameter

By default it uses TOKEN_FILE which is a module constant that points to /root/.auth_ref.json. The path should be an optional parameter to keystone_auth instead of a module constant that is expected to be modified prior to use.

Closing per @sigmavirus24


Kakao Client cannot use Trade companion.

🐞 bug report
Describe the bug

Im kakao client player. It may not loading client.txt file correctly.
Our client.txt file is not client.txt to KakaoClient.txt
And default location is 'C:\Daum Games\Path of Exile\logs'
To Reproduce

Expected behavior

https://pastebin.com/BxTL5KL4
here is my KakaoClient.txt
there should be notable letters here.
2021/07/31 00:26:58 4372781 bb1 [INFO Client 7656] @수신 <ÊraS> Pepechil_gg: Hi, I would like to buy your Sorrow Stinger Great White Claw listed for 1 chaos in Expedition (stash tab "~b/o 1 chaos"; position: left 18, top 7)
@수신 also may could be a problem.
Screenshots

https://i.imgur.com/BlIkhWr.png
🌍  Your Environment

OS:  Win10 x64
Version:  0.8.4
PoE:  Kakao client Korean

Thanks for the info. We'll look into adding a way to detect if the Korean client is being used or not and adjust the file name accordingly. Maybe you can tell us what the client exe name is?

Thanks for the info. We'll look into adding a way to detect if the Korean client is being used or not and adjust the file name accordingly. Maybe you can tell us what the client exe name is?

PathOfExile_KG.exe

Thanks. I also noticed we already have the client exe names in another file. So we can use those to detect if it's the Korean client or not and change which log txt we check/use for the trade companion.

Thanks. This app is really good! :)))

Kakao client logs are now supported (in v0.8.5+)

Its not supported. I tried english kakao client and it is doing well now. Think it read KakaoClient.txt well.
but with korean language poe client, it didnt work.
And I found the reason,
[English kakao Client log]
2021/08/09 10:20:08 973984 bb1 [INFO Client 12604] @From QualityRizlaPaper: Hi, I would like to buy your Hexproof Blueprint: Tunnels of Skirmishing listed for 10 chaos in Expedition (stash tab "~b/o 10 chaos"; position: left 10, top 9)
[Korean kakao Client log]
2021/08/09 09:45:56 3565859 bb1 [INFO Client 12464] @수신 expmw: Hi, I would like to buy your Deployed Blueprint: Smuggler's Den listed for 8 chaos in Expedition (stash tab "~b/o 8 chaos"; position: left 10, top 10)
It is having a difference of @From and @수신

@WhiteFang5

I've checked the trade regexes (https://github.com/PoE-Overlay-Community/PoE-Overlay-Community-Fork/blob/master/src/assets/poe/trade-regexes.json#L23) and it seems the Korean words for "from" and "to" are missing. Can you provide both of them as they appear in the client logs? Then I can add them and ship the fix with the next release.

@from = @수신
@to = @발신

"from" = "수신"
"to" = "발신"
@WhiteFang5

The from & to key-words were added and this issue should be fixed now. Please re-open if it still persists (as I have no way of actually testing this)


Add support for winkdex

http://docs.winkdex.com/

Winkdex is not an exchange so this is probably not the right lib for it

https://github.com/timmolter/XChange/wiki/Exchange-Support#data-providers ;)

@rafalkrupinski good point 😊

Can we close this issue?


Allow disabling RLS message on start up

Provide an option for disabling the RLS recommendation message that you get on start up. So far RLS doesn't match the non-RLS experience yet, so I do not plan on using RLS until it's on par with Racer + Rustfmt. But now I'm getting this message about RLS all the time. The message should have a button for disabling it.

Oh, looks like there is an option for it in the JSON config called rust.forceLegacyMode. Maybe the message itself should have a "Don't ask me again" button though.

I documented the parameter.

I will add "Don't ask me again".


Fix for MEOS TRV Time setting

From https://github.com/zigpy/zha-device-handlers/issues/831#issuecomment-811776478
User have reported that its working changing the time request and the TRV is getting the right time then its pulling the coordinator for it.
I dont know if its doing more bad things but for the moment its only the MOES TRV that is using the time setting (i think its made different for other models but is for the moment not used / implanted in  other then the MOES TRV).

I think only @xonestonex can answer if its good or bad to changing it but i think its OK then its working as expected for MOES TRV users.

Pull Request Test Coverage Report for Build 747567585

0 of 0   changed or added relevant lines in 0 files are covered.
4 unchanged lines in 1 file lost coverage.
Overall coverage decreased (-0.09%) to 83.083%

Files with Coverage Reduction
New Missed Lines
%

zhaquirks/tuya/init.py
4
73.91%

Totals

Change from base Build 738492481:
-0.09%

Covered Lines:
3703

Relevant Lines:
4457

💛  - Coveralls

Second try now with ("set_time_request", (t.data16,), True),

Hi @MattWestb,
Just to explain/justify the change...
I think the previous entry using TuyaTimePayload for set_time_request was a real bug.
The set_time  (going from cordinator to the device) should just TuyaTimePayload but set_time_request (from the Device to Coordinator) should not.
This is the Tuya Dev manual for time synchronization
https://developer.tuya.com/en/docs/iot/device-development/embedded-software-development/mcu-development-access/zigbee-general-solution/tuya-zigbee-module-uart-communication-protocol?id=K9ear5khsqoty#title-18-Time synchronization
From the tables describing both requests in the documentation attached it looks like the payload in set_time_request has no meaning.

@sstefanowski can you using the last commit and testing if it working and you is intending and is setting the time in the MOES TRV ?

OK. I've upgraded to the latest HA 2021.4.4 and replaced a single file from this commit in the installation.
Before the change, I got a well-known issue - incorrectly parsed correctly set_time_request
Apr 14 17:43:44 raspberrypi hass[1390]: 2021-04-14 17:43:44 ERROR (MainThread) [zigpy.device] Failed to parse message (b'194a240422') on cluster 61184, because Data is too short to contain 1 bytes
and after replacing the file from this commit the ERROR is gone and new entries appearing:
Apr 14 18:00:52 raspberrypi hass[3447]: 2021-04-14 18:00:52 DEBUG (MainThread) [zhaquirks.tuya] [0x0803:1:0xef00] Got set time request (command 0x0024)
It looks it works fine.

Great !!
Hope its enough for the devs merging the PR then its looks OK :-)))

works for me also

Great 2 brave user is getting the (TRV) time going in the right direction :-)))


GitHub login not working

I was trying out the new BrainSpell neo app from: https://brainspell.herokuapp.com/ (looks nice, by the way...)
When selecting the 'Login with GitHub' link I get an error:
Traceback (most recent call last):
File "/app/.heroku/python/lib/python3.5/site-packages/tornado/web.py", line 1469, in _execute
result = yield result
File "/app/.heroku/python/lib/python3.5/site-packages/tornado/gen.py", line 1015, in run
value = future.result()
File "/app/.heroku/python/lib/python3.5/site-packages/tornado/concurrent.py", line 237, in result
raise_exc_info(self._exc_info)
File "", line 3, in raise_exc_info
File "/app/.heroku/python/lib/python3.5/site-packages/tornado/gen.py", line 285, in wrapper
yielded = next(result)
File "/app/brainspell/github_collections.py", line 89, in get
client_id=settings[settings_key_id],
NameError: name 'settings_key_id' is not defined
Curious what I'm doing wrong...

Hi @dnkennedy, sorry about this - I pushed a change that should fix the issue.


Implementing Poseidon Hash Function in Data Parallel Execution Environment

I'm using my Python reference implementation of Poseidon Hash Function for implementing a data parallel variant of same in SYCL/ DPC++, using which I plan to target accelerators i.e. CPU, GPU.

I don't plan to maintain this project anymore.


Multiple Files Support

@yinkaenoch

My plan is to zip multiple files together into a single zip file and then upload the zipped blob. The zipped file can then be downloaded and unzipped by the user

https://github.com/doshareme/src/pull/17

Closing this. Congrats to @YinkaEnoch 🎉 for your first approved PR


feat: add http server config

Stack:

#837
#828
#827
#806
#804
#810 ⬅

⚠ Part of a stack created by spr. Do not merge manually using the UI - doing so may have unexpected results.

This change is

✓ Commit merged in pull request #837


Skip some tests if JSON_Install is not set

If JSON_Install is set to OFF, the following tests fail:
 58 - cmake_import_configure (Failed)
 59 - cmake_import_build (Not Run)
 60 - cmake_import_minver_configure (Failed)
 61 - cmake_import_minver_build (Not Run)

This PR skips them instead if JSON_Install is OFF.
Closes #2946

Coverage remained the same at 100.0% when pulling 54d9cd5a1244312151d6f8953f67ef0aa4db4168 on issue2946 into f42a74b8f53cc308647123d49d33d1c8122e3f42 on develop.


Remove References to torch compile mode in readme

What does this PR do?
Remove References to torch compile mode in ReadMe as there is known bug in 1.18 with TGI

Fixes # (issue)
Before submitting

[ ] This PR fixes a typo or improves the docs (you can dismiss the other checks if that's the case).
[ ] Did you read the contributor guideline,
Pull Request section?
[ ] Was this discussed/approved via a Github issue or the forum? Please add a link
to it if that's the case.
[ ] Did you make sure to update the documentation with your changes? Here are the
documentation guidelines, and
here are tips on formatting docstrings.
[ ] Did you write any new necessary tests?

Who can review?
Anyone in the community is free to review the PR once the tests have passed. Feel free to tag
members/contributors who may be interested in your PR.

@regisss  pls merge if ok for you. thanks


Add GoIT Poland

@inBrackets First stage of verification passed, official domain for GoIT Polska (Neoversity) is pl.goit.global as far as I verified. This is just an informational note. Pull request is still in the review. I appreciate your patience while waiting for the final decision.

@philipto thank you for update. If any additional info needed, let me know.

@inBrackets Thank you for your patience while waiting for a review and processing your request. Pull request merged.
Please start requesting the licenses in about an hour, to let the changes to propagate through our system.


Output Freeze

When there is a lot of text printed to the output, WebTerminal freezes until all the text is printed out.
Example:
for i=1:1:1000 w $tr($j("",400)," ","@"),!

The normal behavior for this is not to block the output, but to continuously print all the output without freezing until it gets printed.

This can also be reproduced by printing the content of a global to the screen, which can be a bit annoying as sometimes you don't know how big is the global before printing it.
Example:
zwrite ^myGlobal


Not really an issue But

What is this purpose of this? for connecting to private servers ? for using cheats or ?

Hi @NameLord !
Well, depends on the person who is using it.
Everyone may find it useful for something. (if it even works, 'Cause I didn't tested it for a long time, and I'm not a reverse engineer or something, I just skidded it)
But as a repo owner, I made it to be able to bypass the SSL-Pinning and see/debug the in-game HTTP requests myself.
It could help me and a few others to create better and more secure bots around Fortnite internal API based projects.


Create basic component implementation

[x] fork comments component and integrate OS chat
[ ] chat working with comments thread
[ ] switch to ghost thread
[ ] authorization contexts A-C (D?)
[ ] Chat component W/ & W/O pop up
[ ] user profiles render
[ ] add "Commenting as"
[ ] loading animations

[ ] direct to docs site
[ ] create profile from join screen
[ ] approve in your wallet
[ ] show number of users online
[ ] new message notifications & # of users when closed


WIP - [Fixes #608] SageImageCard component

Closes #608
Description

Screenshots

Before
After

Testing in sage-lib

Testing in kajabi-products

(LOW/MEDIUM/HIGH/BREAKING) Description of the change and its impact with QA as the audience.

[ ] One more examples of the component in use to either test the change or verify the change has not had adverse effects.

Related

Duplicate PR and work completed via https://github.com/Kajabi/sage-lib/pull/632


Please add RSS feed to https://alerts.home-assistant.io

i tried to add https://alerts.home-assistant.io to my RSS reader, but it can't find a feed. Is adding a feed possible (and would that serve enough people to justify the effort)?
(Issue created based on https://twitter.com/balloob/status/1167109872501981184 )

probably want to close this and open one here: https://github.com/home-assistant/alerts.home-assistant.io/issues ?


Tests for test_anime.py

Changed the README to note that the API for the anime module is named Kitsu, not Hummingbird.

Added some unit tests to test_anime.py to verify the items included in the anime module's response and their accuracy compared to another call to the base API.

There is a list of sample anime titles at the top of the file, which is shuffled for each run of the test suite. Most of the tests iterate across the list, comparing the module response for the title to the API response for the title at the relevant data members.

Closing this and setting up a new branch with the changes to squash the commits.


Don't output endpoint in messages

Hi!
ZNC.el is displaying user passwords in messages. This does not seem to be a good idea.

fixed with https://github.com/sshirokov/ZNC.el/pull/30


Add basic autocomplete for the available terminal command names

Problem
The terminal currently supports some level of autocomplete based on command history but there is no autocomplete support for command names.
Solution
Add autocomplete handler for the command names.

Added in https://github.com/solana-playground/solana-playground/commit/dff9fb4c46cff186fd7f4cca7932f01794248626


Repo owners: @Tradeshift/docsapi

Semantic release: (Commit conventions)
No new version will be released.
If a release is expected, please fix commit messages to align with appropriate format :arrow_right: Commit conventions


chore: reduce call of sendHostname

To reduce sendHostname() call on every running web page, I record a kind of long using localStorage. The key is TOAST UI ${applicationid} for ${hostname}: Statistics. For example "TOAST UI Calendar for ui.toast.com: Statistics". The value is just true which is not nullable.
Expect that

Just send it only one time per browser.
All TOAST UI Family can separately send it with own applicationId and hostname even if a web page has several TOAST UI application.
Can still get statistics properly.

Can one of the admins verify this patch?

ok to test

아직 적용하지 않는 것으로 스크럼 때 결정이 나서 닫습니다.


Initial WebUI design and structure with JSON sample function

1. Tell us something about your changes.
Initial WebUI design and structure with JSON sample function
2. If this changes affect the .conf file. Please provide the changed section
3. Reference an issue (optional)
Note: For further discussions use our forum: forum.hyperion-project.org

That's hot!

Your button has arrived! ;)

Wuhu :)
Thank you

thats great!!! While fixing the kodi beast, I checked out your branch, set the path in my config.json and it worked out of the box. I can set the color ... yeah.
BTW current remote control ui is only a place holder, If we/you want to replace that thingy ... I would love it.

I said he could move all examples to subfolders, they are helpful for now. (At least i think).
We could remove them later.
I like the already working translation :D

... yeah that's good.

I will take the remote example to build something like that in the WebUI. I really like that color wheel

I like that one:
http://mathias-biedert.de/wp-content/uploads/2015/11/webapp.png
https://github.com/poljvd/hyperion-webapp
I use it also on my phone and on my desktop.

Do we really need the option to set the prio so slightly?
I think it would be confusing to change it that way. It would end in hundreds of prios.
Maybe a default value?
But all in all i like that

the prio thing is not needed. One value, set in config (the dashboard, not in the remote itself) and thats it ...

this color picker is used
https://github.com/mattfarina/farbtastic

Yes, 2014 and that way it looks like ;)
Aww you are right, clear all kills our background-effect. This is bad! This is the only way to get rid of prios you set "somewhere".

Maybe we need a Clearall-mine option ?
Now that we can track the source of the priorities could we clear all that are my source ?

If you have an app (web,phone), there you should set the prio in config. then we can use normal clear, to clear my channel. If the remote app let the user set multiple channels, then the app has to keep track of that.
we can switch "off" the leds by selecting the "off" source.

@b1rdhous3  should I merge, or should I wait for more commits.

If you like to merge you can do it.
I think this state is a good start for the webinterface.


TypeError: Cannot read property 'value' of undefined within NonNullType

I am on v1.5.1 and am discovering one small problem in a particular case of NonNullType fields (issue #124, fixed in #125). This fix did help resolve a previous problem (thank you!), but this new issue is a similar problem in the case of NonNullType only (as far as I can tell).
I receive the following error:
node_modules/merge-graphql-schemas/dist/index.cjs.js:4296
  return _addCommentsToAST(candidate.fields).reduce(function (fields, field) {
                                             ^
TypeError: Cannot read property 'value' of undefined
    at /mnt/c/dev/sp-prisma/node_modules/merge-graphql-schemas/dist/index.cjs.js:4307:32
    at Array.reduce (<anonymous>)
    at _makeMergedFieldDefinitions (/mnt/c/dev/sp-prisma/node_modules/merge-graphql-schemas/dist/index.cjs.js:4296:46)
    at defs.filter.reduce.Query (/mnt/c/dev/sp-prisma/node_modules/merge-graphql-schemas/dist/index.cjs.js:4334:17)
    at Array.reduce (<anonymous>)
    at _makeMergedDefinitions (/mnt/c/dev/sp-prisma/node_modules/merge-graphql-schemas/dist/index.cjs.js:4321:6)
    at Object.mergeTypes (/mnt/c/dev/sp-prisma/node_modules/merge-graphql-schemas/dist/index.cjs.js:4373:20)
    at Object.<anonymous> (/mnt/c/dev/sp-prisma/src/index.ts:27:30)
    at Module._compile (module.js:662:30)
    at Module.m._compile (/mnt/c/dev/sp-prisma/node_modules/ts-node/src/index.ts:403:23)

The following is my field.type:
{   "kind": "NonNullType",
    "type": {
        "kind": "ListType",
        "type": {
            "kind": "NamedType",
            "name": {
                "kind": "Name",
                "value": "Application",
                "loc": {
                    "start": 51654,
                    "end": 51665
                }
            },
            "loc": {
                "start": 51654,
                "end": 51665
            }
        },
        "loc": {
            "start": 51653,
            "end": 51666
        }
    },
    "loc": {
        "start": 51653,
        "end": 51667
    }
}

So it looks like in this case, we would need field.type.type.type.name.value 🤣
I'm not quite sure how nested things may get here, so am curious what the right approach might be..
Taking a peak in index.cjs.js, the following code change within _makeMergedFieldDefinitions() on l 4306 resolves this issue for me:
https://github.com/okgrow/merge-graphql-schemas/blob/b79816c63574eb899120ea435e24825d2100035a/src/merge_types.js#L64-L70
} else if (field.type.kind === 'NonNullType') {
    if (field.type.type.name) {
        if (field.type.type.name.value !== original.type.type.name.value) {
            throw new Error(
                `Conflicting types for ${merged.name.value}.${field.name.value}: ` +
                `${field.type.type.name.value} != ${original.type.type.name.value}`
            );
        }
    } else if (field.type.type.type.name) {
        if (field.type.type.type.name.value !== original.type.type.type.name.value) {
            throw new Error(
                `Conflicting types for ${merged.name.value}.${field.name.value}: ` +
                `${field.type.type.type.name.value} != ${original.type.type.type.name.value}`
            );
        }
    }
}

I am looking for some feedback if this may be the right approach here? If there is potential for another layer of type, this sort of change may just be kicking the can down the road. 😕

Hey @tdharris,
Do you mind sharing a snippet of the actual type that is causing this? I'm trying to replicate the problem.
Thanks!

@tdharris, could you also share how you are parsing the schemas? Are you using graphql's buildSchema, Apollo's makeExecutableSchema, or something else?

Yah, of course! I only hope I have everything right here for ya. My apologies for the long comment here. Like #124, I receive this when working with Prisma (graphql prepare). I think I've simplified it to the following:
# datamodel.graphql
type User {
  id: ID! @unique
  email: String!
}

# app.graphql
directive @isAuthenticated on FIELD | FIELD_DEFINITION

type Query {
  users: [User]! @isAuthenticated
}

# prisma.graphql
# THIS FILE HAS BEEN AUTO-GENERATED BY "PRISMA DEPLOY"
# DO NOT EDIT THIS FILE DIRECTLY

#
# Model Types
#

type User implements Node {
  id: ID!
  email: String!
}

#
# Other Types
#

type AggregateUser {
  count: Int!
}

type BatchPayload {
  """The number of nodes that have been affected by the Batch operation."""
  count: Long!
}

"""
The `Long` scalar type represents non-fractional signed whole numeric values.
Long can represent values between -(2^63) and 2^63 - 1.
"""
scalar Long

type Mutation {
  createUser(data: UserCreateInput!): User!
  updateUser(data: UserUpdateInput!, where: UserWhereUniqueInput!): User
  deleteUser(where: UserWhereUniqueInput!): User
  upsertUser(where: UserWhereUniqueInput!, create: UserCreateInput!, update: UserUpdateInput!): User!
  updateManyUsers(data: UserUpdateInput!, where: UserWhereInput): BatchPayload!
  deleteManyUsers(where: UserWhereInput): BatchPayload!
}

enum MutationType {
  CREATED
  UPDATED
  DELETED
}

"""An object with an ID"""
interface Node {
  """The id of the object."""
  id: ID!
}

"""Information about pagination in a connection."""
type PageInfo {
  """When paginating forwards, are there more items?"""
  hasNextPage: Boolean!

  """When paginating backwards, are there more items?"""
  hasPreviousPage: Boolean!

  """When paginating backwards, the cursor to continue."""
  startCursor: String

  """When paginating forwards, the cursor to continue."""
  endCursor: String
}

type Query {
  users(where: UserWhereInput, orderBy: UserOrderByInput, skip: Int, after: String, before: String, first: Int, last: Int): [User]!
  user(where: UserWhereUniqueInput!): User
  usersConnection(where: UserWhereInput, orderBy: UserOrderByInput, skip: Int, after: String, before: String, first: Int, last: Int): UserConnection!

  """Fetches an object given its ID"""
  node(
    """The ID of an object"""
    id: ID!
  ): Node
}

type Subscription {
  user(where: UserSubscriptionWhereInput): UserSubscriptionPayload
}

"""A connection to a list of items."""
type UserConnection {
  """Information to aid in pagination."""
  pageInfo: PageInfo!

  """A list of edges."""
  edges: [UserEdge]!
  aggregate: AggregateUser!
}

input UserCreateInput {
  email: String!
}

"""An edge in a connection."""
type UserEdge {
  """The item at the end of the edge."""
  node: User!

  """A cursor for use in pagination."""
  cursor: String!
}

enum UserOrderByInput {
  id_ASC
  id_DESC
  email_ASC
  email_DESC
  updatedAt_ASC
  updatedAt_DESC
  createdAt_ASC
  createdAt_DESC
}

type UserPreviousValues {
  id: ID!
  email: String!
}

type UserSubscriptionPayload {
  mutation: MutationType!
  node: User
  updatedFields: [String!]
  previousValues: UserPreviousValues
}

input UserSubscriptionWhereInput {
  """Logical AND on all given filters."""
  AND: [UserSubscriptionWhereInput!]

  """Logical OR on all given filters."""
  OR: [UserSubscriptionWhereInput!]

  """Logical NOT on all given filters combined by AND."""
  NOT: [UserSubscriptionWhereInput!]

  """
  The subscription event gets dispatched when it's listed in mutation_in
  """
  mutation_in: [MutationType!]

  """
  The subscription event gets only dispatched when one of the updated fields names is included in this list
  """
  updatedFields_contains: String

  """
  The subscription event gets only dispatched when all of the field names included in this list have been updated
  """
  updatedFields_contains_every: [String!]

  """
  The subscription event gets only dispatched when some of the field names included in this list have been updated
  """
  updatedFields_contains_some: [String!]
  node: UserWhereInput
}

input UserUpdateInput {
  email: String
}

input UserWhereInput {
  """Logical AND on all given filters."""
  AND: [UserWhereInput!]

  """Logical OR on all given filters."""
  OR: [UserWhereInput!]

  """Logical NOT on all given filters combined by AND."""
  NOT: [UserWhereInput!]
  id: ID

  """All values that are not equal to given value."""
  id_not: ID

  """All values that are contained in given list."""
  id_in: [ID!]

  """All values that are not contained in given list."""
  id_not_in: [ID!]

  """All values less than the given value."""
  id_lt: ID

  """All values less than or equal the given value."""
  id_lte: ID

  """All values greater than the given value."""
  id_gt: ID

  """All values greater than or equal the given value."""
  id_gte: ID

  """All values containing the given string."""
  id_contains: ID

  """All values not containing the given string."""
  id_not_contains: ID

  """All values starting with the given string."""
  id_starts_with: ID

  """All values not starting with the given string."""
  id_not_starts_with: ID

  """All values ending with the given string."""
  id_ends_with: ID

  """All values not ending with the given string."""
  id_not_ends_with: ID
  email: String

  """All values that are not equal to given value."""
  email_not: String

  """All values that are contained in given list."""
  email_in: [String!]

  """All values that are not contained in given list."""
  email_not_in: [String!]

  """All values less than the given value."""
  email_lt: String

  """All values less than or equal the given value."""
  email_lte: String

  """All values greater than the given value."""
  email_gt: String

  """All values greater than or equal the given value."""
  email_gte: String

  """All values containing the given string."""
  email_contains: String

  """All values not containing the given string."""
  email_not_contains: String

  """All values starting with the given string."""
  email_starts_with: String

  """All values not starting with the given string."""
  email_not_starts_with: String

  """All values ending with the given string."""
  email_ends_with: String

  """All values not ending with the given string."""
  email_not_ends_with: String
}

input UserWhereUniqueInput {
  id: ID
}

When running the following:
const ultimateSchemaString = mergeTypes([
    readFileSync('./datamodel.graphql').toString(),
    readFileSync('./app.graphql').toString(),
    readFileSync('./prisma.graphql').toString()
], {
    all: true
});

I get the following error:
.../node_modules/merge-graphql-schemas/dist/index.cjs.js:4296
  return _addCommentsToAST(candidate.fields).reduce(function (fields, field) {
                                             ^
TypeError: Cannot read property 'value' of undefined
    at .../node_modules/merge-graphql-schemas/dist/index.cjs.js:4310:34
    at Array.reduce (<anonymous>)
    at _makeMergedFieldDefinitions (.../node_modules/merge-graphql-schemas/dist/index.cjs.js:4296:46)
    at defs.filter.reduce.Query (.../node_modules/merge-graphql-schemas/dist/index.cjs.js:4342:17)
    at Array.reduce (<anonymous>)
    at _makeMergedDefinitions (.../node_modules/merge-graphql-schemas/dist/index.cjs.js:4329:6)
    at Object.mergeTypes (.../node_modules/merge-graphql-schemas/dist/index.cjs.js:4381:20)
    at Object.<anonymous> (.../src/index.ts:45:30)
    at Module._compile (module.js:662:30)
    at Module.m._compile (.../node_modules/ts-node/src/index.ts:403:23)

Here is field.type and original in the context of _makeMergedFieldDefinitions():
field.type: {
    "kind": "NonNullType",
    "type": {
        "kind": "ListType",
        "type": {
            "kind": "NamedType",
            "name": {
                "kind": "Name",
                "value": "User",
                "loc": {
                    "start": 1571,
                    "end": 1575
                }
            },
            "loc": {
                "start": 1571,
                "end": 1575
            }
        },
        "loc": {
            "start": 1570,
            "end": 1576
        }
    },
    "loc": {
        "start": 1570,
        "end": 1577
    }
}

original: {
    "kind": "FieldDefinition",
    "name": {
        "kind": "Name",
        "value": "users",
        "loc": {
            "start": 376,
            "end": 381
        }
    },
    "arguments": [],
    "type": {
        "kind": "NonNullType",
        "type": {
            "kind": "ListType",
            "type": {
                "kind": "NamedType",
                "name": {
                    "kind": "Name",
                    "value": "User",
                    "loc": {
                        "start": 384,
                        "end": 388
                    }
                },
                "loc": {
                    "start": 384,
                    "end": 388
                }
            },
            "loc": {
                "start": 383,
                "end": 389
            }
        },
        "loc": {
            "start": 383,
            "end": 390
        }
    },
    "directives": [{
        "kind": "Directive",
        "name": {
            "kind": "Name",
            "value": "isAuthenticated",
            "loc": {
                "start": 392,
                "end": 407
            }
        },
        "arguments": [],
        "loc": {
            "start": 391,
            "end": 407
        }
    }],
    "loc": {
        "start": 376,
        "end": 407
    }
}

And changing the NonNullType condition to the approach provided earlier resolves this for me - https://github.com/okgrow/merge-graphql-schemas/issues/140#issue-321293548.

Any progress with it?

It looks like it wasn't accounting for ListType in NonNullType fields. I made a fix to the code and added a test for this: #161

Should this issue be closed now?

Yah, thanks for the reminder!
https://github.com/okgrow/merge-graphql-schemas/pull/161


Migrate away from reliance on the deprecated service-ca.crt

Description
On OpenShift, the Console and Keycloak currently rely on the automatic injection of service-ca.crt into the pod in order to trust the the Kubernetes Auth Server and the Keycloak API server (respectively).   This feature is deprecated and is due to go-way.
The alternative mechanism for getting the service-ca.crt is described here:
https://docs.openshift.com/container-platform/4.6/security/certificates/service-serving-certificate.html#add-service-certificate-configmap_service-serving-certificate
In addition, EnMasse currently makes use of service.alpha.openshift.io/serving-cert-secret-name.  This has been replaced with service.beta.openshift.io/serving-cert-secret-name.  The semantics appears to be the same.
https://docs.openshift.com/container-platform/4.6/security/certificates/service-serving-certificate.html#add-service-certificate_service-serving-certificate
When running on OpenShift 4,  the newer features should be used.  Support for OpenShift 3.11 is required, so behaviour should unchanged when running there.
Design
EnMasse Operator
On OpenShift4 the controller loop will reconcile a service-ca configmap with the service.beta.openshift.io/inject-cabundle annotation.
The operator deployment (yaml bundle/CSV) will declare this confgmap as an optional: true volume.
On first use the configmap won't exist so the controller will create it  The controller will then check for the appearance of the projected service-ca.crt on the pod's filesystem.  If the file does not exist yet, the reconcile loop will be rescheduled with a requeueafter to cause the controller to await the projected file.  This will have the affect of delaying the operator's useful work util after the service-ca.crt is available  to it.  This relies on https://github.com/kubernetes/website/issues/26611.
To be safe, we might chose to fail the operator process entirely if the projected file does not appear with a certain number of iterations.
The REST API calls used to configure Keycloak that currently rely on /var/run/secrets/kubernetes.io/serviceaccount/service-ca.crt need to change to use the configmap's mount point.
Console
On OpenShift, currently the /var/run/secrets/kubernetes.io/serviceaccount/service-ca.crt is passed as part of oauth-proxy-openshift.cfg as an upstream  configuration value.
On OpenShift4 the console reconciliation needs to change so that the console deployment mount the service-ca configmap.  This doesn't need to be optional as by this point the service-ca configmap can be assumed to exist.
The deployment's arguments to oauth-proxy need to pass the --upstream argument with either the configmap's mount point or fall back to /var/run/secrets/kubernetes.io/serviceaccount/service-ca.crt on OpenShift 3.11.
Keycloak
The AddressSpaceController uses Keycloak REST to create/delete realms.  The Keycloak server uses a serving-cert-secret-name annotated service, so needs the service-ca.crt in order to conect.
The solution here mirrors the Console. The  address-space-controller deployment needs the service-ca configmap mounted volume on the OpenShift 4 path.  The KubeKeycloakFactory need to use either the configmap's mount poin or fall back to /var/run/secrets/kubernetes.io/serviceaccount/service-ca.crt on OpenShift 3.11.
Serving Cert Changes
In the EnMasse Operator, on OpenShift 4 must reconcile the console and authservices services to use the service.beta.openshift.io form of the annotation name. If the controller detects the service.alpha.openshift.io form it should remove it.
The AddressSpace AuthController OpenShiftProvider issues certificates using service.alpha.openshift.io.  It needs to change too on OpenShift4.
Service Broker
The Service Broker is no longer supported on OpenShift 4.6, so it will continue to use service.alpha.openshift.io to continue to support OpenShift 3.11.
If applicable, links to design docs.
Tasklist
Enumerate the sub-tasks required to complete the task:

[ ] Subtask 1
[ ] Subtask 2

@k-wall Looks good & complete.


Clean up package dependencies

We need to double check that all the packages we're using are still relevant. This slows down precompilation time a lot.

I recycled this script in order to track unused package dependencies:
using ODINN
using Pkg.TOML
deps = TOML.parsefile("Project.toml")["deps"]
remove = String[]
for d in keys(deps)
    if !isdefined(ODINN, Symbol(d))
        push!(remove, d)
    end
end
println("rm ", join(remove, " "))

Implemented in #107


Cannot access my site

I've set up http server for initial setup ( used npm http-server ), configured reverse-proxy, but i cannot acess my site neither by .ton domain, nor by .adnl.
I can access other sites, like foundation.ton
I've also tried to forward port on my router, but it didn't work. Am i supposed to have a static IP?
My config:
{
	"proxy_pass": "http://localhost:8080/",
	"private_key": "private key",
	"external_ip": "my ip ( i've checked it )",
	"listen_ip": "<IP_ADDRESS>",
	"network_config_url": "https://ton.org/global.config.json",
	"port": port
}

Hi, you need to have open ports also on your provider side (as i know, usually this is paid feature, comes with static white ip). Or you may rent some vps and setup proxy there.

okay, thanks! but, is there any ways to configure it, so it won't need a static ip?

[ ]