Support test parameterisation by docker and podman, enable in CI

pytest tests/ - run tests with docker, also with podman if available
pytest tests/ --ctr-exe docker - run tests with docker only
pytest tests/ --ctr-exe podman - run tests with podman only
pytest tests/ --ctr-exe docker,podman - explicitly run tests with both docker and podman (for use in the CI)
Also supports non-standard exe names and detects whether docker/podman, e.g. pytest tests/ --ctr-exe podman4.2

With the default, which checks whether docker and podman are available before parameterising on both:
(venv) python-on-whales/(podman-CI)$python -m pytest tests/python_on_whales/components/test_image.py -k test_filter_when_listing_old_signature -vv
=============================================== test session starts ================================================
platform linux -- Python 3.9.5, pytest-7.1.2, pluggy-1.0.0 -- /mnt/c/Users/legaul/repos/python-on-whales/venv/bin/python
cachedir: .pytest_cache
rootdir: /mnt/c/Users/legaul/repos/python-on-whales
plugins: mock-3.8.2
collected 66 items / 64 deselected / 2 selected

tests/python_on_whales/components/test_image.py::test_filter_when_listing_old_signature[docker] PASSED       [ 50%]
tests/python_on_whales/components/test_image.py::test_filter_when_listing_old_signature[podman] SKIPPED (Not supported with podman) [100%]

=================================== 1 passed, 1 skipped, 64 deselected in 1.46s ====================================

Specifying only docker:
(venv) python-on-whales/(podman-CI)$python -m pytest tests/python_on_whales/components/test_image.py -k test_filter_when_listing_old_signature -vv --ctr-exe docker
=============================================== test session starts ================================================
platform linux -- Python 3.9.5, pytest-7.1.2, pluggy-1.0.0 -- /mnt/c/Users/legaul/repos/python-on-whales/venv/bin/python
cachedir: .pytest_cache
rootdir: /mnt/c/Users/legaul/repos/python-on-whales
plugins: mock-3.8.2
collected 40 items / 39 deselected / 1 selected

tests/python_on_whales/components/test_image.py::test_filter_when_listing_old_signature[docker] PASSED       [100%]

========================================= 1 passed, 39 deselected in 1.54s =========================================

Overall, I'm ok with the CLI interface proposed, but I would advocate for using @pytest.mark.parametrize(). I'm confident that it's possible from the CLI to skip or deselect some tests. It's even possible that with parametrize, we wouldn't have the implement the CLI interface ourselves and a -k would suffice.
You might want to make DOCKER_CLIENT and PODMAN_CLIENT be a pytest.param so that you can choose the id displayed in the test name. See https://docs.pytest.org/en/7.1.x/example/parametrize.html#different-options-for-test-ids for more info on the subject

I actually disagree that this is preferable, I very purposefully chose what I have here in favour of using @pytest.mark.parametrize(). Let me try to explain why.
My understanding is that this project ideally wants to fully support podman (and possibly nerdctl too?), within the bounds of what we have resources to support (e.g. putting the time in to get the CI running for podman). Therefore, ideally all tests would run with all supported runtimes by default (or at least those that are expected to work).
At a high level, using @pytest.mark.parametrize() does not achieve this - it requires individual testcases to opt in to the parameterisation. It seems to me what we want is for all testcases that use a container client to be parameterised by default, with the option of opting out (whether being skipped or removed from selection) if unsupported by certain container runtimes.
There are actually two different cases where testcases might need to opt out from a runtime: the runtime does not support the functionality (e.g. docker does not support 'docker pod' commands or 'docker run --systemd false'); or POW does not yet support that functionality with the runtime. The reason I went with removing testcases was to cater for the former - in that situation the testcase simply doesn't make sense, so it seemed better for it not to show up as a SKIP which might imply missing functionality in POW. However, you're right that it would make more sense for the latter to be handled by skipping those, rather than removing them (which then serve as a kind of "TODO").
I think we should consider what the desirable behaviour is if a new contributor comes to add new tests. I would expect them to see the pattern in other tests where a ctr_client fixture is used, and that we would want their new tests to be automatically parameterised with docker and podman, rather than requiring them to choose to parameterise using @pytest.mark.parametrize(). Then, if the test fails with podman (e.g. in the CI), it forces some thought as to "should this be supported with podman?", and if not then it can be skipped (e.g. using @pytest.mark.ctr_mgr("docker")). This has the distinct benefit of being explicit about functionality not yet supported by POW, rather than going unnoticed. As a contributor who favours podman, I don't want to be chasing new testcases to add the parameterisation boilerplate for every testcase!
At a lower implementation-detail level, I'm fully aware @pytest.mark.parametrize() would work e.g. with a global DOCKER_CLIENT and PODMAN_CLIENT as you suggested (although being forced to use global variables is also somewhat undesirable due to wanting to support specifying --ctr-exe on the CLI). But it's important to make the right high-level choice before worrying about the implementation - I provided this draft PR to illustrate that my high level proposal can be implemented neatly without any use of hacks. In terms of skipping tests instead of removing, this would be a simple change. We could support @pytest.mark.ctr_mgr("docker", skip=True) (I've just pushed a demonstration of this) or any other interface - what's your preference?

Having a custom mark may lead to some complexity in case someone wants to understand, debug or change the mechanism.

Hopefully my code shows it's not actually too complex - this is all supported and documented by pytest, and this feels like a very valid use-case for it. I'm happy to be generous with docstrings/comments in the pytest hooks to explain what's going on, but for most people adding tests they shouldn't need to worry about it, they just see they get a ctr_client fixture of type DockerClient and shouldn't even need to worry about the fact it causes a parameterisation (but searching for ctr_client should lead to my comment that explains what's going on for the curious!).

My understanding is that this project ideally wants to fully support podman (and possibly nerdctl too?), within the bounds of what we have resources to support (e.g. putting the time in to get the CI running for podman). Therefore, ideally all tests would run with all supported runtimes by default (or at least those that are expected to work).

I disagree with this, but it's just a matter of how it's expressed in the code. I prefer things to be as explicit as possible, even in the default case. I don't have a hard requirement about the parametrize, I just want things to be opt-in. One part of the reason is for explicitness, one other is that it makes migration easier in general to have opt-in options than opt-out (for example if we add nerdctl later, it's possible to progressively add tests that support it instead of having all tests running at once without the opt-out).

There are actually two different cases where testcases might need to opt out from a runtime: the runtime does not support the functionality (e.g. docker does not support docker pod commands or docker run --systemd false); or POW does not yet support that functionality with the runtime.

If the runtime doesn't support it, if it's the runtime's fault, the test should not exist (it's not even collected) which is what you do here. If POW doesn't support the functionnality, but we'd like POW to support it in the future, the test should be marked as XFAIL and should exist, which is different than what is done in this pull request.

My understanding is that this project ideally wants to fully support podman (and possibly nerdctl too?), within the bounds of what we have resources to support (e.g. putting the time in to get the CI running for podman). Therefore, ideally all tests would run with all supported runtimes by default (or at least those that are expected to work).

I disagree with this, but it's just a matter of how it's expressed in the code. I prefer things to be as explicit as possible, even in the default case. I don't have a hard requirement about the parametrize, I just want things to be opt-in. One part of the reason is for explicitness, one other is that it makes migration easier in general to have opt-in options than opt-out (for example if we add nerdctl later, it's possible to progressively add tests that support it instead of having all tests running at once without the opt-out).

I now better understand your perspective, but I still very much think it should be opt-out. Needing to mark tests that don't support one of docker/podman (e.g. with @pytest.mark.ctr_mgr("docker")) is a good thing - it makes it clear what functionality is missing under each runtime (there should be more similarity than difference, so more useful to flag the differences).
Given a test that looks like:
def test_image_remove(ctr_client: DockerClient):
    ctr_client.image.pull("busybox:1", quiet=True)
    ctr_client.image.pull("busybox:1.32", quiet=True)
    ctr_client.image.remove(["busybox:1", "busybox:1.32"])

and given the fact that the CI runs with podman, I think that test should run with podman. It seems like a gotcha/footgun that it would be as easy as the above (forgetting to use @pytest.mark.parametrize()) to miss podman coverage. The ctr_client fixture is pytest's dependency-injection approach of defining the client the test should use - there is no reason this should be docker by default, and no reason for the test to care about the fact it might be parameterised.
I would say the more correct way to use pytest is to use fixtures for any resources (where the DockerClient instance is the main resource in this case), i.e. this should be done whether used for parameterisation or not. This allows performing checks, controlling initialisation and controlling cleanup - in our case we want it to be parameterised and controlled via a CLI arg.
As listed at https://docs.pytest.org/en/7.3.x/how-to/parametrize.html, there are three ways to parameterise in pytest:

@pytest.mark.parametrize at the per-testcase level - usually used as a one-off, individual testcase parameterisation
At the fixture level (per-module, per-package, ...) - useful for parameterising resources that may be used in multiple testcases
pytest_generate_tests() hook - needed for more dynamic parameterisation

This case fundamentally does not fall into the first case, this is a resource used by multiple testcases. So, a fixture like this could be used:
@pytest.fixture(scope="session", params=[DOCKER_CLIENT, PYTHON_CLIENT])
def ctr_client(request):
    return request.param

However, this gives us no control over:

Choosing the executables via --ctr-exe
Marking tests as XFAIL or removing those that don't apply

The latter concern could be managed instead with three separate fixtures:
@pytest.fixture(scope="session")
def docker_client():
    return DOCKER_CLIENT

@pytest.fixture(scope="session")
def podman_client():
    return PODMAN_CLIENT

@pytest.fixture(scope="session", params=[DOCKER_CLIENT, PYTHON_CLIENT])
def ctr_client_param(request):
    return request.param

such that testcases have to choose whether they want to run with only docker/podman or whether to use the parameterised ctr_client_param fixture instead. This would be more explicit about what gets run, but still has the problem of being less explicit about functionality not supported by docker/podman. It also makes supporting --ctr-exe more messy/hacky (needing global DOCKER_CLIENT and PODMAN_CLIENT variables).

One part of the reason is for explicitness, one other is that it makes migration easier in general to have opt-in options than opt-out (for example if we add nerdctl later, it's possible to progressively add tests that support it instead of having all tests running at once without the opt-out).

I'm glad you mentioned this second point - I think my suggestion fits much better with adding nerdctl. Currently podman and nerdctl are not tested (not run in the CI). I'm doing the work to add podman testing, including getting it running in the CI. At this point of "adding test support", it makes sense to go through and mark any tests that do not work as XFAIL. I'm much less likely to miss any if they all run by default!
In other words, I think the task of adding test support for a new runtime should involve explicitly marking any tests that don't work, rather than just getting them running one at a time via explicit parameterisation. In fact, my suggestion of the --ctr-exe arg already allows running the tests with nerdctl (as things nerdctl will be treated as docker in terms of what gets removed/XFAILed because it is unrecognised - that's where the DockerClient.ctr_mgr attribute comes in).
By the way, I'm very much open to discussion on how the @pytest.mark.ctr_mgr("docker") interface should work, e.g. @pytest.mark.not_supported_by_docker, or @pytest.mark.xfail(ctr_mgr="podman") - there's flexibility here. Similarly the parameterisation of the ctr_client fixture could be made more explicit by naming it ctr_client_param if preferred.

The ctr_client fixture is pytest's dependency-injection approach of defining the client the test should use - there is no reason this should be docker by default,

I was thinking that all tests should use parametrization, it's just that for the docker-only case, there will be only one parameter. So there wouldn't be a "default". The parametrize doesn't have to be at the function level, it could be at the fixture level and built dynamically.

However, this gives us no control over:
Choosing the executables via --ctr-exe
Marking tests as XFAIL or removing those that don't apply

If we parametrize, users can just use -k to select or deselect tests. We can also provide markers for the docker tests, so that users can use -m  too. Markers are made to do exactly what you are trying to do here.

It's possible to apply a xfail in a parametrize: https://docs.pytest.org/en/7.1.x/how-to/skipping.html#skip-xfail-with-parametrize / Removing tests that don't apply just means not adding the corresponding parameter.

I'm afraid we are reinventing the wheel here. Pytest provide ways to dynamically apply parametrize (being at the test level or the function level). Pytest provides a way to mark tests to allow selection and deselection from the CLI, pytest also provide a way to use skip and xfail with parametrize. Let's use the tools that are given to us here. If you don't wish that a user uses parametrize every time a test is written, let's just use the file-level marker pytestmark that is given explicitely for this purpose.
It will give you the "by default, all backends are selected" behavior and it's still explicit.
In general, I'd be happier with this PR if we made more use of pytest's features, I believe it would reduce significantly the size of the custom code.

In general, I'd be happier with this PR if we made more use of pytest's features

This doesn't really make sense to me, because my suggested approach makes use of pytest features, I'm not using any hackery. But it seems your preference is to favour code simplicity rather than my strong desire for the tests to have what I'd consider the right default behaviour.
I've been through this process using pytest before, -m and -konly get you so far, they don't allow the level of control I think we should have here.
Unfortunately I don't think we're going to agree on how this should be approached, and I've lost a lot of motivation to work on this right now. Maybe I'll come back to it another time.

Don't worry, I can implement the solution when I have the time, I'll see if I can cook something we'll both be satisfied with.

One thing I think is essential is that when there's a test that only supports podman, it should not have to be indicated with a parameterisation that includes only podman. That's just inconsistent, it doesn't make sense to parameterise with one thing. Options would be to use a podman fixture, or a mark that indicates the test is only supported by podman, or that indicates lack of support by docker.


Fix bug with initial DB migration of User model for test

Thanks! Really appreciated it. Will plan to get this merged in and release update in next couple days.


Get logp from SGMCMC

The HMC class allows accessing the log-joint probability before and after the update step through the log_prob and orig_log_prob attributes of the HMCInfo class. However, the stochastic gradient MCMC classes in zhusuan don't expose these two log-joint probabilities.
Is it possible to get a tensorflow operation for the log-joint probability at the end of the update step in SGMCMC? Or alternatively Is it possible to get a tensorflow operation for the value of the parameters before the update step?

Hello, I think it is not difficult to get the value of the parameters as long as you perform something like sess.run(latent). About the log-joint probability, since in SGMCMC algorithm we do not need to compute it (unlike in HMC, since we need to perform the Metropolis-Hastings step there), by default the log_prob is not returned (to reduce the size of computation graph).
If you want to get log_prob given the value of parameters stored in a dictionary latent, you could add some codes in your script as follows:
bn = model.observe(**merge_dicts(latent, observed))
log_prob = bn.log_joint()

In the end, I modify my joint_prob function to store the logp and parameters at the half step. For my case, I only need to do one additional sum to get the logp after calculating the gradient. So it make sense to calculate the gradient and logp at the same time t.


Build failed while deploying to Heroku, Can't resolve 'core-js/es7/reflect'

 ./src/polyfills.ts:47:0-29 - Error: Module not found: Error: Can't resolve 'core-js/es7/reflect' in '/tmp/build_8197b157/frontend/src'
       npm ERR! code 1
       npm ERR! path /tmp/build_8197b157
       npm ERR! command failed
       npm ERR! command sh -c cd frontend && npm install --legacy-peer-deps && cd .. && npm run build:frontend && (npm run --silent build:server || cd .)
       npm ERR! A complete log of this run can be found in:
       npm ERR!     /tmp/npmcache.XEDKa/_logs/2022-05-21T23_13_21_269Z-debug-0.log

-----> Build failed

Yes can confirm this is happening to me too, it worked a few days back but now when I do a clean re install it shows this error. Tested both on Heroku and locally.

As our last CI/CD jobs passed fine, including Heroku deployment, I assume that this is some upstream dependency problem that we now pull via some of our unpinned ~ or ^ dependencies.
I won't be able to do much investigation next week unfortunately, so volunteers are very welcome to pick this up.

@jiachen247 For easier local reproduction, please state your Node.js version, OS etc. and please check if Juice Shop 14.x works for you (please check master branch and pre packaged ZIP of 14.x - if it is a dependency problem, the ZIP should work for you, as it already contains als deps and doesn't need an install step that could break those)

Sadly I'm using and M1 (arm64) which is not yet a compilation target for juice shop project! Thanks for all the help, ill just deploy VMs on the cloud for all my students! :-)
Here's my setup, have also tried running on ubuntu and also the one click heroky deploy that also runs into the same problem.
(base) jiachen@jiachens-MacBook-Pro-423 ~ % uname -a
Darwin jiachens-MacBook-Pro-423.local 21.5.0 Darwin Kernel Version 21.5.0: Tue Apr 26 21:08:37 PDT 2022; root:xnu-8020.121.3~4/RELEASE_ARM64_T6000 arm64
(base) jiachen@jiachens-MacBook-Pro-423 ~ % node -v
v14.18.2

Problem is fixed and I'll release a hotfix v14.0.1 now for it. I don't understand how/why this occured now, but it seems a path in our polyfill.ts no longer exists. We expected core-js/es7/reflect but it now is core-js/es/reflect.


make: kill piggie

I noticed that in the Makefile we use:
killall -9 piggie || :

However, this does not seem to work for me.
$ sudo -E make
[...]
Do restore
SUCCESS!
killall -9 piggie || :
piggie: no process found

$ pidof piggie
20702 20640

$ sudo killall -9 piggie
piggie: no process found

The following change seems to fix this issue:
diff --git a/Makefile b/Makefile
index 359fa50..d0b9ebb 100644
--- a/Makefile
+++ b/Makefile
@@ -27,7 +27,7 @@ test: test/test test/piggie
        test/piggie
        test/test dump `pidof piggie` image
        test/test restore image
-       killall -9 piggie || :
+       pkill -9 piggie || :

 phaul:
        @cd phaul; go build -v
@@ -39,7 +39,7 @@ phaul-test: test/phaul test/piggie
        rm -rf image
        test/piggie
        test/phaul `pidof piggie`
-       killall -9 piggie || :
+       pkill -9 piggie || :

 clean:
        @rm -f test/test test/piggie test/phaul

Thanks. Could be that this also fails in travis without knowing. Anyway, I moved it to the checkpoint-restore organization. Please open a pull request there. I will delete this repository.


Latent Structure Model Support

Reference Issues/PRs

What does this implement/fix? Explain your changes.
Added lsm function to simulations file. This allows user to sample from an LSM with a given latent curve and density
Added LatentStructureTest as an extension of BaseInference. This allows the user to estimate the densities along latent structure curves, as well as compare densities with a KS Test statistic (the sup of the L1 difference between the ECDFs)
Any other comments?

Closing this PR so that I can black the code and open another one

@bstadt just black then push the commit. changes get automatically updated in PR


Add documentation on user management

Currently in the docs there is no information on user / group / policy management.

Duplicate of #757. Closing it.


Write a C# program to find volume of a cylinder

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

Volume : 37.69911184307752

How to contribute

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

!assign


chore: Add flex-wrap property for responsive layout on homepage

Prerequisites checklist

[x] I have read the contributing guidelines.

What is the purpose of this pull request?
Handle responsive layout of metrics in home page on ultra wide monitors/views.
What changes did you make? (Give an overview)
Basically adding a flex wrap property to handle in the case of step-6 font being too large on ultra wide views which causes the text to get out of its parent frames.
here's a before and after screenshots
ultra wide:

wide:

normal:

extra small/mobile:

Thanks for the PR. What dimensions are you considering "wide" and "ultra wide"? That would be helpful to verify this change.

Hi @nzakas
I'm using an ultrawide LG monitor however now looking at the dimensions
the full screen resolution (ultra wide) was at  3440px x 1270px
3/4 of the screen resolution is what i considered (wide) was at 2440px x 1270px

Thanks, I was able to verify that this was happening in Chromium but not in Firefox.
I'm not sure I understand the numbers need to wrap at such a large resolution, though. There's plenty of horizontal space. Is there something we can do to make all of the numbers stay on the same line?

@nzakas this is because of the step-6 font size causing the font to become too large at ultra wide views, changing it or its calculation might not be ideal as it might be used in other places, however we can set a smaller font size on large views. using media queries or even setting the font based on view width.

@nzakas The issue was with the max-width property on the content-container class. it persisted the width of the content even on large views, I have pushed new changes now, this adds a media query check on larger screens to change the max-width of the containers to use the extra space on the sides.


changed project from get to post request

Fixes #2628
Describe the changes you have made in this PR -
changed fork circuit request from GET to POST
Screenshots of the changes (If any) -
https://user-images.githubusercontent.com/40604582/143531600-930e2ce0-da26-4073-9aaf-849b250f3424.mp4
@tachyons , please take a look at my PR.

Coverage decreased (-0.7%) to 81.927% when pulling 29acc7ab66a3aa19a29cb20d8287282b065b4905 on Kartikay304:project-changed-to-post into e4359b08490d6d309dd90187f2ebca48ed22c558 on CircuitVerse:master.


Upgrade to protobuf 3.20.3

I upgraded Protobuf from 3.18.3 to 3.20.3 which matches what the onnx community currently has for version 1.13.0. However, MacOS fails for version 3.20.3 (see this link for the reason: https://github.com/onnx/onnx-mlir/issues/1936). So what I have done based on @chentong319 suggestion, I upgraded everything else to 3.20.3 and kept Mac build on 3.18.3. Please let me know your thoughts.

Jenkins Linux s390x Build #9252 [push] Upgrade to protobuf 3.20... started at 08:19

Jenkins Linux amd64 Build #9235 [push] Upgrade to protobuf 3.20... started at 07:19

Jenkins Linux ppc64le Build #8299 [push] Upgrade to protobuf 3.20... started at 08:24

Jenkins Linux amd64 Build #9235 [push] Upgrade to protobuf 3.20... passed after 1 hr 56 min

Jenkins Linux s390x Build #9252 [push] Upgrade to protobuf 3.20... passed after 2 hr 2 min

Jenkins Linux ppc64le Build #8299 [push] Upgrade to protobuf 3.20... passed after 2 hr 26 min


Pricing card with button in tailwindCSS

Description
**Need to create code for Pricing card with button as per below image. **

The final code should be placed under path tailwind_components/pricing_cards with file name as pricing_with_button.jsx
The file as to be imported to tailwind_components/pricing_cards/collection.js file as per example and added to the pricingCardsCollections list
Post these process, go to components tab (components/pricing_cards) in website and check whether the codepen is updated

For PR reference - https://github.com/jsvigneshkanna/tailwind_ui_components/pull/76/files
For any issue while creating / importing the component code file, check below sample files
https://github.com/jsvigneshkanna/tailwind_ui_components/tree/master/tailwind_components/buttons
For icons please refer - https://heroicons.com/
Screenshot of the tailwind component

Are you taking this fetaure implementaion
no

Sure @chibuike-19
Great involvement, appreciate that!

Thanks @jsvigneshkanna!

Hi @chibuike-19 ,
Please let me know any help needed, as this issue was inactive for more than 2 days

sorry, I've been having an issue with my system, would work on it tomorrow.

Sure @chibuike-19 no worries. just a reminder !

Can you assign me the task if it is not done yet

@MunavvarSinan sure
Please make sure the code is not plagiarised, as it would cause copyright issue

@MunavvarSinan sure
Please make sure the code is not plagiarised, as it would cause copyright issue

Okay

what was the probelm?

@MunavvarSinan , can you raise new PR again


Tabs are not working

  <menu role="tablist" aria-label="Tabs Template">
    <button role="tab" aria-controls="tab-A" aria-selected="true">Tab A</button>
    <button role="tab" aria-controls="tab-B">Tab B</button>
    <button role="tab" aria-controls="tab-C">Tab C</button>
    <button role="tab" aria-controls="tab-D" disabled>Tab D</button>
  </menu>

Tab A is active

Tab B is active

Tab C is active

Tab D is inactive

I have pasted this code in angular but I don't know why the tabs are not working. I got the UI as it is mentioned in the page But If I click tab-B/C it is not showing me Tab B is active/C is active. Do we need to add any custom javascript code for this. If not can you please help me with this issue. Thanks in Advance.

Hello @Vetagiri-Hrushikesh, This css package is not shipped with any JS, you indeed need to add your own JS code to make the tabs functional, or you can refer to the JS code used for the docs: https://github.com/khang-nd/7.css/blob/a1355c0cf4c5590a01d164922e0ce4ef2cd28344/docs/script.js#L1

Hi Khang,. sorry for reviving this, i have the same problem i even copy the js and doest work i have an image im using svelte, Keep doing this, is awesome!!!

Hello @JericoFX, maybe try setting up the tabs using the simplified tabs  template could help you get started easier. Otherwise, please share your code.

Hi Khang,. sorry for reviving this, i have the same problem i even copy the js and doest work i have an image im using svelte, Keep doing this, is awesome!!!

Edit One : so after some touches the tabs "activate and deactivate" but the content still in like one line instead in the tabs

I did added that functionality using bootstrap In case if you need that please check the code below. It looks almost similar but you need to do very minimal changes in your css according to your needs.

                    <button data-bs-toggle="tab" data-bs-target="#home" type="button" role="tab" aria-controls="home"
                        aria-selected="true" (click)="pluginCall()">Software Revisions</button>

                    <button data-bs-toggle="tab" data-bs-target="#profile" type="button" role="tab"
                        aria-controls="profile" aria-selected="false">Discrete Outputs</button>

                    <button data-bs-toggle="tab" data-bs-target="#contact" type="button" role="tab"
                        aria-controls="contact" aria-selected="false">Discrete Inputs</button>

{{i}}

Tab 2

Tab 3


Support DuckDB

Support DuckDB, which is a embedded database (similar to sqlite) for the big data format Parquet. Likely to leverage the nodejs library rather than WASM.
https://duckdb.org/docs/api/nodejs

That would be amazing!


Install fails with Python error

While stepping through the installation process on a fresh EC2 Ubuntu 14.04 image, I ran sudo pip install -r requirements.txt which failed with this error:
Command /usr/bin/python -c "import setuptools, tokenize;__file__='/tmp/pip_build_root/uwsgi/setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /tmp/pip-yUzAqZ-record/install-record.txt --single-version-externally-managed --compile failed with error code 1 in /tmp/pip_build_root/uwsgi

Here's the entire install log.

This software works much nicer if you have it installed in a virtualenv. Nevertheless, I'll take a look.

Specifically datacats doesn't like being installed outside of a virtualenv

Should be able to fix this by installing the python-dev package from the Ubuntu repositories.

Ah, so "preferably in a virtualenv" means "definitely in a virtualenv." :) Virtualenv confuses the hell out of me, so when I saw that I could skip that step to test this out, it seemed worth doing. I'll figure out how to use virtualenv and take another crack at this. Thanks!

Sorry, was a little sleepy writing the instructions :)

I will change that!

I may well just be using virtualenv wrong, but I just created a virtualenv, moved CKAN Multisite into its directory, and ran pip install again, like such:
# virtualenv ckan
# mv ckan-multisite-master/ ckan/
# sudo pip install -r requirements.txt

It died with the same error. But, again, I may well just be using virtualenv wrong.

Hi Waldo! Sorry if I'm not very responsive, 'tis a bank holiday up here in the not-so-cold north.
You shouldn't use sudo or run as root with virtualenvs, as it messes with the environment variables sometimes. You can activate a virtualenv you've created (therefore make it the provider of the pip and python tools, along with a couple others) like so:
source ckan/bin/activate

You should definitely ignore me until it ceases to be a holiday. :)

Any luck?

No. :( I ran virtualenv ckan, then source ckan/bin/activate, put the contents of this repo in ckan/ckan-multisite-master/, moved into that directory, and ran pip install -r requirements.txt, which terminated with the same error.
I appreciate that CKAN Multisite is targeted at people comfortable with Virtualenv, so I'm sorry to be asking newbie questions.

I feel that anyone with sufficient unix sysadmin skill should be able to set up multisite without too much hassle. We'll have to sort the virtualenv issues out. Do keep reporting issues

Hm. Did you install the package python-dev from apt-get like this?:
apt-get install python-dev

I feel that anyone with sufficient unix sysadmin skill should be able to set up multisite without too much hassle.

FWIW, I've been a Unix sysadmin for 20 years, starting with Slackware and working my way up through AIX, SCO, Red Hat, CentOS, and Ubuntu. :) But my virtualenv experience is limited to typing exactly what instructions tell me to do, because, until 24 hours ago, I had absolutely no idea of what it does, and now I have a vague understanding of it, which seems like an improvement. I've only ever dealt with it for CKAN.

Did you install the package python-dev

D'oh—I had, but then created a new instance and forgot to do it again. :) That worked much better. Thank you!
There were a bunch of warnings, nothing serious looking, except for this:
  Running setup.py install for PyYAML
    checking if libyaml is compilable
    x86_64-linux-gnu-gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -I/usr/include/python2.7 -c build/temp.linux-x86_64-2.7/check_libyaml.c -o build/temp.linux-x86_64-2.7/check_libyaml.o
    build/temp.linux-x86_64-2.7/check_libyaml.c:2:18: fatal error: yaml.h: No such file or directory
     #include <yaml.h>
                      ^
    compilation terminated.

    libyaml is not found or a compiler error: forcing --without-libyaml
    (if libyaml is installed correctly, you may need to
     specify the option --include-dirs or uncomment and
     modify the parameter include_dirs in setup.cfg)

So, for the record, this is the process that works:
# sudo apt-get install python-dev
# virtualenv ckan
# wget https://github.com/datacats/ckan-multisite/archive/master.zip
# unzip master.zip
# source ckan/bin/activate
# cd ckan/ckan-site-master
# pip install -r requirements.txt

That said, I only made it another two steps. :) Then datacats create multisite failed on me, and asked me to post an issue:

# datacats create multisite
----------------------------------------
datacats: problem was encountered:
Something that should not have happened happened when attempting to run this command:
     datacats create multisite

It is seems to be a bug.
Please report this issue to us by creating an issue ticket at

    https://github.com/datacats/datacats/issues

so that we would be able to look into that and fix the issue.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Please quote this traceback when reporting this error:
Traceback (most recent call last):
  File "/home/ubuntu/ckan/local/lib/python2.7/site-packages/datacats/cli/main.py", line 93, in main
    return command_fn(opts)
  File "/home/ubuntu/ckan/local/lib/python2.7/site-packages/datacats/cli/create.py", line 53, in create
    datapusher=not opts['--no-datapusher'],
  File "/home/ubuntu/ckan/local/lib/python2.7/site-packages/datacats/cli/create.py", line 61, in create_environment
    environment = Environment.new(environment_dir, '2.3', site_name, address=address, port=port)
  File "/home/ubuntu/ckan/local/lib/python2.7/site-packages/datacats/environment.py", line 115, in new
    name, datadir, srcdir = task.new_environment_check(path, site_name)
  File "/home/ubuntu/ckan/local/lib/python2.7/site-packages/datacats/task.py", line 284, in new_environment_check
    docker.require_images()
  File "/home/ubuntu/ckan/local/lib/python2.7/site-packages/datacats/docker.py", line 404, in require_images
    if (not image_exists('datacats/web') or
  File "/home/ubuntu/ckan/local/lib/python2.7/site-packages/datacats/docker.py", line 293, in image_exists
    return bool(_get_docker().images(name=name))
  File "/home/ubuntu/ckan/local/lib/python2.7/site-packages/datacats/docker.py", line 92, in _get_docker
    api_version = version_client.version()['ApiVersion']
  File "/home/ubuntu/ckan/local/lib/python2.7/site-packages/docker/client.py", line 837, in version
    return self._result(self._get(url), json=True)
  File "/home/ubuntu/ckan/local/lib/python2.7/site-packages/docker/clientbase.py", line 86, in _get
    return self.get(url, **self._set_request_timeout(kwargs))
  File "/home/ubuntu/ckan/local/lib/python2.7/site-packages/requests/sessions.py", line 477, in get
    return self.request('GET', url, **kwargs)
  File "/home/ubuntu/ckan/local/lib/python2.7/site-packages/requests/sessions.py", line 465, in request
    resp = self.send(prep, **send_kwargs)
  File "/home/ubuntu/ckan/local/lib/python2.7/site-packages/requests/sessions.py", line 573, in send
    r = adapter.send(request, **kwargs)
  File "/home/ubuntu/ckan/local/lib/python2.7/site-packages/requests/adapters.py", line 415, in send
    raise ConnectionError(err, request=request)
ConnectionError: ('Connection aborted.', error(13, 'Permission denied'))

----------------------------------------

We usually get this issue when someone's Docker daemon hasn't been set up - have you installed docker (i.e. wget -qO- https://get.docker.io | sh).

Yup, Docker is installed and running. Just in case, I restarted the service and tried datacats create multisite again—same result.

Hm. I know that when I start my AWS instances I always have to have Docker running in another tmux tab - let me try and get this up and running and get to the same state on an instance as you are.

@waldoj sorry, my wording there was weird. I don't think we should expect people to know virtualenv - for anybody with 20 years of unix skill, the experience of setting up multisite should be easier than this.
I think this is very important because the people likely to use multisite will often not have much python experience, virtualenv being a very python-specific tool.

Yay, I've yet again turned my ignorance into a virtue! ;)

@waldoj i.e. I didn't mean to suggest you man it up and figure it out, but the exact opposite :smile:

I know, I know. :)

Hi there!
We were thinking that it may be a good idea for us to just write a script that'll get you (hopefully) up and running on multisite. I'm gonna try this out and push it to the repo.
The OS I'm gonna be testing is Ubuntu 14.04, fresh VM.

Jack

:+1:

I see you've done a whole mess of work on this today, including half an hour ago, so I'll stay out of it until you give me the go-ahead.

So now if you have a new system, the run.sh script should detect that you don't have a virtualenv, create a virtualenv, and set up multisite/docker on your system if needed.
It'll probably work best if you just run the run.sh script on a new instance.

It will do all the apt-get install stuffs and everything :smile:

Also @waldoj make sure you read through the ckan_multisite/config.py file and set it up like your site before you run run.sh. :)

Wow. That worked way better. You simplified things enormously! I'm just at the welcome site now, and excited to poke around!


Fix sbt-launch-lib.bash

What is the context for this pull request?

After #421, sbt-launch-lib.bash is broken, and we need to update the url to fetch sbt-launcher-*.jar from. Current it fails with:
09:36 $ ./build/sbt
Attempting to fetch sbt
Our attempt to download sbt locally to build/sbt-launch-1.5.0.jar failed. Please install sbt manually from http://www.scala-sbt.org/

What changes were proposed in this pull request?

Fix the url to fetch sbt-launcher.jar from.
Does this PR introduce any user-facing change?

Yes, now ./build/sbt works fine.
How was this patch tested?

Tested manually

What's the purpose of these scripts?

https://www.scala-sbt.org/1.x/docs/Launcher-Getting-Started.html#:~:text=The sbt launcher component is a self-contained jar,and a Java runtime version 1.6 or greater. Basically you don't need to install sbt manually. You can just clone this repo and do ./build/sbt to get started (unfortunately only on *nix for now).


Fix for token tx displayed value in case multiple logs

Combine multiple log events for value of single token transaction into one event for token transaction value.

QVariantMap variantLog = listLog[0].toMap(); should change to listLog[i].toMap()

@xuanyan0x7c7 Added code for clean token transaction in case of multi-log


overridePendingTransition

It's great if compatible with:
overridePendingTransition(R.anim.activity_anim_left, R.anim.activity_anim_right);

You can achieve this by implementing the SlidrListener in a config that you pass to Slidr.attach(activity, config)
Then, do something like this in the onSlideClosed() method:
@Override
public boolean onSlideClosed() {
    finish();
    overridePendingTransition(R.anim.activity_anim_left, R.anim.activity_anim_right);
    return true;
}


Update roles for IMPORT INTO

It appears that the IMPORT INTO docs for 20.2 do not accurately reflect the required permissions. It’s currently documented as admin-only, but looking at tests, it appears that INSERT/CREATE/DROP have rights?
@adityamaru @pbardea Would you explain the rights in a comment here? I am happy to update the docs. Or, you can update directly. Thanks.

@shermanCRL I've listed out the required privileges for each of the bulk jobs below. The umbrella admin check was removed from IMPORT, BACKUP, and RESTORE, and so the docs for all three might need to be updated. They all share the same admin/non-admin requirements based on the URI they're writing/reading from and so I shall flesh that out first:
The URI does not require admin for the following constructs:

For s3 and gs the credentials are SPECIFIED (and not IMPLICIT). Azure is always SPECIFIED by default.
In the case of S3 there is no custom endpoint.
Userfile

nodelocal, http and https require admin privileges.
Job-specific privileges:
IMPORT INTO:

INSERT and DROP privileges. DROP is required because we need to take the table offline during the IMPORT INTO.

IMPORT:

CREATE is required.

BACKUP:

Full cluster backups require admin role.
DB and table backups require SELECT
If the backups also contain UDS and UDT then one needs USAGE as well.

RESTORE:

Full cluster restore requires admin role.
DB restores require the CREATEDB role.
CREATE privileges in the parent DB being restored into is required by all restores.

I'm also going to rope in @lnhsingh in case there is a draft for this in cold storage as there have been previous discussions on Slack about adding this documentation. 😃

@adityamaru What is a custom endpoint for S3? Custom domain?

@adityamaru And, inferring from above, IMPLICIT credentials for S3 and GS do require ADMIN, yes?

@adityamaru What is a custom endpoint for S3? Custom domain?
If a customer wants to override the default service API endpoint with a custom endpoint they can specify this param - https://docs.aws.amazon.com/sdk-for-go/api/aws/endpoints/

@adityamaru And, inferring from above, IMPLICIT credentials for S3 and GS do require ADMIN, yes?
Yup, cause then we are relying on the machine we are running on to authenticate us, and only ADMIN should be allowed to rely on this.

Related to https://github.com/cockroachdb/docs/issues/8432 (will close that issue in favor of this one).
Thanks for starting this! I don't have a draft other than the hodgepodge of notes that are included in that other issue.

@adityamaru What does it mean to ‘invalidate’ foreign key constraints? Does it mean they are simply not enforced during IMPORT INTO? ‘Invalidate’ sounds like we remove them or disable them or something.

After we have imported into a table we do not vouch for the foreign key constraints which previously existed on the target table to still be valid. They will continue to be enforced for subsequent updates. This is why at the end of the import we actively set all the FKs to an invalidated state. This does not mean that we remove them, just that they might not hold for all the data ingested into the table. To enforce them one must use https://www.cockroachlabs.com/docs/stable/validate-constraint.html
pg docs have a nice explanation:
Normally, this form will cause a scan of the table to verify that all existing rows in the table satisfy the new constraint. But if the NOT VALID option is used, this potentially-lengthy scan is skipped. The constraint will still be enforced against subsequent inserts or updates (that is, they'll fail unless there is a matching row in the referenced table, in the case of foreign keys, or they'll fail unless the new row matches the specified check condition). But the database will not assume that the constraint holds for all rows in the table, until it is validated by using the VALIDATE CONSTRAINT option.

Closing this, as Matt's PR in December closed this.


what is otherModulesHandlers(requestCode, resultCode, data)

It is on
`  @Override
public void onActivityResult(final int requestCode, final int resultCode, final Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == PAY_PAL_REQUEST_ID) {
payPalPackage.handleActivityResult(requestCode, resultCode, data); // <--
} else {
otherModulesHandlers(requestCode, resultCode, data); //<--
    }
 }`

I wonder what it does? It is not an available module.

Hey @jojonarte,
That otherModulesHandlers is an example for other activity handlers that your app may have. For exemple, a Facebook Login activity handler, etc.
If do not have any activities to handle, just ignore this because you do not need it.

Oh thanks man now closing this.


Request cache validation

Can you give an example with js how to do Request cache validation? Thanks in advance.
I want to know this in order to prevent an IP ban.

You could use the wrapper I've made ! In it I use p-memoize and p-queue to use rate-limiting and memoization.
I've used that since the REST API already cache the request for a little amount of time.

I tried using your library, I am getting 'URL is not a constructor' error. Can you give me a simple example with a library like axios?

I've never had this kind of error, what have you done in order to have this error ?

const JikanTS = require("jikants").default;
JikanTS.Top.items("anime", 1, "airing").then(b => console.log(b));

I used the above code

It works fine for me.
https://i.imgur.com/iBBhwN2.png
Are you using node or Javascript for the browser ?

I am using jikants with vue-cli3, after develop build I am getting this error

Try this
import JikanTS from "jikants"

Instead of
const JikanTS = require("jikants").default;

Tried it, getting the same error

It seems to be a problem with webpack

@upendra-web I'm not sure how JS would work regarding this.
But this is gist of cache validation:
The REST API response has a ETag header with a value; i.e an md5 hash of the response. Store this value.
So the next time you want to make the same request you can send a conditional request by adding a If-None-Match header in the request with the value of the ETag from the previous request.
If the data has not has not changed, Jikan will respond with HTTP 304 - Not Modified otherwise the updated data (HTTP 200).
More details here: https://jikan.docs.apiary.io/#introduction/cache-validation
Lastly, IP bans are due to abusing the API in a manner where requests that are made solely for collecting data by barraging the API every second with incremental requests. i.e v3/anime/(n+1)
If the purpose is for collecting data like that, it's more appropriate to set up one's own instance.

Closing due to inactivity. Please feel free to open another issue if you've any other queries.


Fix CCR compatibility with remote translogs

Description
Fix CCR compatibility with remote translogs
Changes done:

Route GetChangesRequest only to leader's primary shard.
Rely on lucene as source for operations.
Disabled the TranslogDeletionPolicy for remote enabled clusters.
Excluded Remote store settings while copying leader index's setting to follower index.

Testing done:

Manual testing with remote store enabled.
Enabled remote store on leader and ran the integ test suite. Verified that all tests passed(one test failed with leader stats due to assertion on lucene reads which is expected)

We can explore having a CI for testing with remote clusters. Will open a follow up issue for same.
Check List

[ ] New functionality includes testing.

[ ] All tests pass

[ ] New functionality has been documented.

[ ] New functionality has javadoc added

[ ] Commits are signed per the DCO using --signoff

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

Backlog issue to create a CI workflow for CCR with remote store: https://github.com/opensearch-project/cross-cluster-replication/issues/1272

We need to backport it to 2.11 and 2.10


Propagate panics cleanly

If the "sending" part panics and drops Sender, we get a double panic and a crash.
Something else should probably be done here, maybe set a flag (i.e. poison the future), and panic on next poll?

So I think at the end of the day dropping without sending is a programmer error.  In Rust we usually panic on those (Swift takes a bit of a different view on this point – not sure if that's part of the discussion or not).
Then we get to a question that does not arise in Swift with its single-type approach:  Was that programmer error on the sending side or on the receiving side, or both?
In one of my earlier designs, Receiver had an implicit Result type, and would automatically get the Err side when Sender drops, which one could .recv().expect(), or not, etc. So an API much like oneshot.  But I found a few problems with that approach:

In (most?  basically all?) cases the way to solve the misuse is either "dig up Sender and send a value", "dig up Sender and stop it from being dropped", and it is easier to dig up Sender when you have a Sender-side backtrace than a receiver-side one.
Forcing Result means you get Result whether you like it or not. No implicit Result type means you can implement one on top if you want, not if you don't.
From a certain view, it's desireable for the receiver thread to go off and do something else.  On one hand, the future will never resolve, and that is a problem.  On the other hand, maybe the receiver thread is polling 10 futures, and it can go on to do 9 out of the 10, which is arguably better than none of of 10.

Those were persuasive to me that it is strictly better to blow up Sender than receiver.  If we leave off item 3, which I think is the weakest, it could make sense to poison Receiver as well.
But that still leaves your double-panic problem.  One idea is to check thread::panicking() in Sender::drop.  I'd guess it's no great loss to just let misuse slip through if that seems to be caused by a different panic (presumably the best developer experience to fix that misuse was to fix the original panic).
I am a little unsure how safe that assumption is, in the dark corners of "fully generalized" panic machinery.  For example, could it be that: a) thread::panicking()==true, b) but don't worry about it, someone wrote a catch_unwind to smooth that over, c) but in the process of doing that they created a continuation misuse, which is d) unreported from step a?


Undefined "babel-helper-vue-jsx-merge-props" version error during installation

I am getting the following error
npm install @vue-hero-icons/outline                                                                                10:10:57
npm ERR! code ETARGET
npm ERR! notarget No matching version found for babel-helper-vue-jsx-merge-props@undefined.
npm ERR! notarget In most cases you or one of your dependencies are requesting
npm ERR! notarget a package version that doesn't exist.
npm ERR! notarget
npm ERR! notarget It was specified as a dependency of '@vue-hero-icons/outline'

in a minimal package.json setup
{
  "name": "test-icons",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "author": "",
  "license": "ISC"
}

Note: running npm cache clean --force didn't help

Now fixed in 1.7.2


find not working correctly for regular expression containing asterisk wildcard

I am trying to find with regex "[^\t]*" in a tab delimited file
paste the following contents in vs code in untitled buffer where fields are delimited by tabs
f1	f2
f3	f4
f5	f6
then try to find in regex mode with regular expression "[^\t]*"
observe that it finds only f1,f3 and f5 and completely ignores fields in second column. *  means it should match zero of more characters, so it should match fields in second column.
if I try to find with regex "[^\t]+" it works correctly and does find fields in second column.
details about the VS code build I am using:
Version: 1.53.1
Commit: 5d424b828ada08e1eb9f95d6cb41120234ef57c7
Date: 2021-02-08T23:35:15.302Z (2 days ago)
Electron: 11.2.1
Chrome: 87.0.4280.141
Node.js: 12.18.3
V8: <IP_ADDRESS>-electron.0
OS: Darwin x64 19.6.0

It finds and highlights not only values from column (Press Alt+Enter to select all matches and past somewhere to see how everything) but also some empty string after first column and before \t.
However looks like these zero-length matches make it "jump over" all other matches in that line.

Yes that's my observation as well. I think if there is a empty line then it should match empty string (because * means zero or more. This is what happens in other editors like notepad++.)
But it should not match empty string just by the side of a matched string. That's just wrong.

That's JS behavior which you can observe in browser console looking at using [...'f1\tf2\tf3\tf4'.matchAll(/[^\t]*/g)].
So "That's just wrong." should got to TC39 committee I guess 😄
It will really depend on RE engine. Looks like ripgrep (used for Find in files when you don't have file opened) will match empty string at the end of each string instead.
Skipping zero-length matches at the end looks like something that could help in this case, however IMHO it's not always "valid" to always discard empty matches because it's regexps - you can write regexp that will produce valid zero length in different "branches" in consecutive form.

Also, regex101, see https://regex101.com/r/BdW56f/1, and regexr, see https://regexr.com/5map5, match those empty strings as well.  I think that is correct behaviour.
What is odd is how using the find widgets up/down arrows work - that seems odd - first you arrow down one side, but if you arrow down and then arrow up you see it does go to each match correctly (in some odd order).  But if you Ctrl+shift+L to select all the find matches you see it did find them all.  It is just the order of cycling through the find matches has some "logic" I don't understand.  It would seem that f2 would be the next find match after f1 and then the empty string right after f1, but the arrows don't go in that order.

Thanks @IllusionMH. Don't know what to say about where the regex engine decides to put empty matches, but this is weird and is something we do have control over:

@roblourens I'm not arguing that Next should go to next match instead of skipping whole line and I'm looking into it at this moment.
I'm just not sure that it's valid to filter out zero-length matches in this case. However I've checked parts with navigation and looks like they should "skip" skip empty matches in this case just don't do it properly.
What would be expected solution here - remove these zero-length matches from results in this case or just properly on Next?
Removing matches here might also require to filter out matches in Find in Files as well.

I don't think we should filter out any matches here

@roblourens empty matches already skipped when user clicks on Next match
https://github.com/microsoft/vscode/blob/6c12d9f2c4aa9f14ce1ca81033ebf31ea48c0bc0/src/vs/editor/contrib/find/findModel.ts#L429
And wrong position from this call will skip all all results in same line which is root cause of this issue
https://github.com/microsoft/vscode/blob/6c12d9f2c4aa9f14ce1ca81033ebf31ea48c0bc0/src/vs/editor/contrib/find/findModel.ts#L431
I will soon make separate PRs that

Fix incorrect position returned from _nextSearchPosition
Removes empty ranges that are at the end of previous matches (anyway they will be skipped as shown above and user when click Next will see 1 of 9, 3 of 9, 4 of 9, 6 of 6 etc.)

to continue discussion with working examples.

Oh, thanks for investigating.

My results so far for both changes approved (but I know that none might be)
https://user-images.githubusercontent.com/1312662/108047916-0bf0f480-704f-11eb-86d9-ebbf2a59e414.mp4


main.go:74: error during command execution: signing /@s: PUT https://att: MANIFEST_INVALID: manifest invalid; map[description:Could not locate artifact '.att/manifest.json'

Description
[<!--Tell us about the bug. What went wrong? How can we reproduce it? What should the correct behavior be?
    cosign attest --yes --predicate sbom.spdx.json --type spdx --key cosign.key ${{ inputs.DOCKER_REGISTRY }}/${{ inputs.APP_NAME }}:${{ inputs.IMAGE_TAG }}

    cosign attest --yes --predicate provenance.json --type slsaprovenance --key cosign.key ${{ inputs.DOCKER_REGISTRY }}/${{ inputs.APP_NAME }}:${{ inputs.IMAGE_TAG }}

This only shows for predicate provenance.json, is this because the registry is internal to my company and not public ?
-->](main.go:74: error during command execution: signing /@s: PUT https://att: MANIFEST_INVALID: manifest invalid; map[description:Could not locate artifact '.att/manifest.json'.])
Version
2.2.4

If you have a private registry, make sure to get credentials that have overwrite permissions.


Likelihood/students t variance scaling

Student's T Distribution: Scaling in condtional_variance method
Description
The current implementation of the conditional_variance method for the StudentT class in likelihoods.py is independent of the scale parameter, when it should be proportional to the scale parameter squared. See here.
The bug is fixed by multiplying the current formula by the scale parameter squared.
This bug results in erroneous variations being predicted by a model using the StudentT likelihood.
Minimal working example
import tensorflow as tf
import gpflow

l = gpflow.likelihoods.StudentT(3.0)
scales = range(1,5)
F = tf.constant(0.)
with tf.Session() as sess:
    for s in scales:
        l.scale = s
        l.compile()
        var = sess.run(l.conditional_variance(F))
        print('Scale = {0}, Var. = {1}'.format(s, var))

Before:
Scale = 1, Var. = 3.0
Scale = 2, Var. = 3.0
Scale = 3, Var. = 3.0
Scale = 4, Var. = 3.0
After:
Scale = 1, Var. = 3.0
Scale = 2, Var. = 12.0
Scale = 3, Var. = 27.0
Scale = 4, Var. = 48.0

Codecov Report

Merging #777 into master will decrease coverage by 0.02%.
The diff coverage is 100%.

@@            Coverage Diff             @@
##           master     #777      +/-   ##
==========================================
- Coverage   97.55%   97.53%   -0.03%
==========================================
  Files          55       55
  Lines        4754     4755       +1
==========================================
  Hits         4638     4638
- Misses        116      117       +1

Impacted Files
Coverage Δ

gpflow/likelihoods.py
100% <100%> (ø)
:arrow_up:

gpflow/params/parameterized.py
98.23% <0%> (-0.45%)
:arrow_down:

Continue to review full report at Codecov.

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

This looks great, thanks!


cpython: allow $out reference again

This regression got introduced with 738746a34b675297624338ab9aa3adb3d3cd4cf6
It breaks compiling libxml and possible other packages relying on Python.h

Motivation for this change
Things done

[ ] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
Built on platform(s)

[ ] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Ensured that relevant documentation is up to date
[ ] Fits CONTRIBUTING.md.

This is a semi-automatic executed nixpkgs-review with nixpkgs-review-checks extension. It is checked by a human on a best effort basis and does not build all packages (e.g. lumo, tensorflow or pytorch).
If you have any questions or problems please reach out to SuperSandro2000 on IRC.
Result of nixpkgs-review pr 116366 run on x86_64-linux 1

1 package built:

libxml2

@ofborg eval

Thank you.


Fix AOT issue

This library breaks when running the production build on Angular 8 using AOT, as per https://stackoverflow.com/questions/48163344/angular-aot-error-in-ng-component-html-file-expected-0-arguments-but-got-1/48172467
This is the error: Ng2FittextDirective, Expected 0 arguments, but got 1.
This MR fixes this issue.

Thanks David!

@lokenxo  Would you be able to republish? Thanks :)

@davidstellini did it just now.


”’ “Teacher, your courses are excellent!"——translated by ChatGPT ”‘ ——translated by ChatGPT too


nfa: add saving in the .dot format

After implementing #1 and adding the NFAs it may be useful to be able to print them. GraphViz is one of the most popular solutions for graph visualization.It uses the .dot format for specifying the graphs.
It's suggested to implement exporting the NFA into a .dot file format.

The format itself is quite simple. Solving the issue wouldn't be so hard.


Dock console

How would you dock a console?

---这是来自QQ邮箱的自动回复邮件。
---This is from the QQ mailbox automated reply.
您好！您的来信我已经收到，我会尽快给您回复。Hello

If you use a WinForms control like https://github.com/dwmkerr/consolecontrol right now, I think you just need to drop it in a DockContent.

This repo only covers DockPanel Suite, so any discussion beyond the scope like how to use that console control is not covered. It will be your responsibilities to study the source code and samples of that control and figure out what might be needed.


randomize volume resources in testacc

PASS
coverage: 73.3% of statements
ok  	github.com/dmacvicar/terraform-provider-libvirt/libvirt	149.434s
dmaiocchi@mare:~/go/src/github.com/dmacvicar/terraform-provider-libvirt> git branch

idempotency is done


Unexpected type inference - Raw binary vs BNDB

Binary Ninja version: 1.1.1470 (release), build a3b48b43
Platform: Linux (ubuntu 18.04)
Types may be incorrectly inferred  - even after forcing reanalysis. Behavior varies depending on whether the binary or bndb is being analyzed.
example binary: libtiff.so.5.4.0 libtiff.zip, https://gitlab.com/libtiff/libtiff/-/archive/v4.0.10/libtiff-v4.0.10.tar.gz
open binary in Binja GUI, in python console:
bv.update_analysis_and_wait()
TIFFRGBAImageBegin_func = bv.get_function_at(bv.symbols['TIFFRGBAImageBegin'].address)
print TIFFRGBAImageBegin_func.get_low_level_il_at(0x25956).medium_level_il.ssa_form
bv.reanalyze()
bv.update_analysis_and_wait()
TIFFRGBAImageBegin_func = bv.get_function_at(bv.symbols['TIFFRGBAImageBegin'].address)
print TIFFRGBAImageBegin_func.get_low_level_il_at(0x25956).medium_level_il.ssa_form

results should be the same for each print:
esi#1 = arg2#0
esi#1 = arg2#0

write bndb
bv.create_database(bv.file.filename + '.bndb')

open saved bndb in Binja GUI, repeat same steps as above, results will be different:
esi#1 = arg1#0
esi#1 = arg1#0

This has been resolved at some point.  It appears to have been before the release of 1.3.


Demo restarting in middle of analyse

The Demo http://<IP_ADDRESS>/matchs/demo/65 (final score 16-2) is reporting 12-1 at the end.
The Demo does not report as corrupted, but seems like demo a restart or something like that, However viewing the demo it all ok...
The symptom is similar to this vid (not mine) - https://www.youtube.com/watch?v=ltdZEvdIo5o
Is there a solution?

I am also having this issue on alot of games downloaded from HLTV such as this one: https://www.hltv.org/matches/2327511/g2-vs-astralis-esl-pro-league-season-8-europe

Hellou. Just saw this one, its been a year now but why not :)
I tried to download the demo you were linking here from HLTV and got the same problem even with the latest version of CSGODM.
After hundrets and hundrets of watched demos, I came to this conclusion/fix:

The source is 99% VALVE
Switch to eBot or even ESL and try to analize it again, it should work
Sometimes you will get 1 round more than ususal. The match didnt end with 16 rounds on some half, but with 17. And the main reason I think is because there was probably a ROUND RESTART in the match.

The analyzer works as he should if you ask me. AkiVer should know more, but I think that is extremly complex for the tool to calculate the reason and roll back to the rounds as it happens ingame.

A new major version has been released, closing the issue 🧹


Add prefix support to Scrivener

Adds prefix support to Scriviner

Thanks @reneweteling for bringing this up again.
This should be closed in favor of #91


add rich text hyperlinks to interactive messages

NEEDS UPDATES - pending ⚠
Reference

Documentation: https://docs.aws.amazon.com/connect/latest/adminguide/interactive-messages.html
Blog: https://aws.amazon.com/blogs/contact-center/easily-set-up-interactive-messages-for-your-amazon-connect-chatbot/
Issue: https://github.com/amazon-connect/amazon-connect-chat-interface/issues/47

Description of changes:
Created component <RichLinkRenderer /> to support markdown hyperlinks for interactive message title/subtitles.
Should create anchor tag for the following:

"[amazon.com](https://amazon.com)" => amazon.com
"https://amazon.com" => https://amazon.com
"[amazon.com](https://amazon.com){:target="_self"}" => amazon.com
"[amazon.com](https://amazon.com){:target="_blank"}" => amazon.com

Interactive Message Lex Bot
Set up a lex bot following the blog post. In the lex lambda, modify the intent title passed to user to be rich text, e.g. title: "How can we help? [Learn More](https://oursite.com)"
Previous screenshot
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

// Lambda code for Lex bot

/* CREATE A LIST PICKER */
function createSimpleListPickerFromOptions(title, options) {
  let elements = options.map((option) => {
    return { title: option };
  });

  return {
    templateType: TEMPLATE_TYPES.LISTPICKER,
    version: "1.0",
    data: {
      content: {
        title: "How can I help you? [richLink](https://example.com){:target=\"_self\"}", // default {:target=\"_blank"}
        subtitle: "**Bold Subtitle** *italics* [richLink](https://somelink.com) https://plainlink.com.",
        elements: elements,
      },
    },
  };
}


Please add local in remotes

Please add local in remotes

Local remote support is added in #162 and will be available in the next release (v1.5.0).
However, I would advise against using this method as a regular, every day file explorer. It's not as optimized as any other other app that's sole purpose is being a file explorer. All the commands are going through rclone which adds extra overhead. Also since the app was designed in mind with cloud remotes, some of the UI elements are not very intuitive for local remotes (i.e. download or upload buttons). Currently I have no plans to optimize anything specifically for local remotes.
Having said that, all the features of the app should work properly with local remotes. I'm imagining that the best usage of the local remote is together with the crypt remote. That way files on the device can be encrypted or decrypted using rclone.


Update documentation to describe how use it with SPM

Step 2: Describe your environment

Objective C or Swift: Swift
iOS version: 15
Firebase SDK version: 10.15.0
FirebaseUI version: 13.0.0
CocoaPods Version: ____

Step 3: Describe the problem:
There's no documentation on how to setup Firebase UI with SPM
Steps to reproduce:

Reading the documentation
There's no information

Observed Results:

What happened?  This could be a description, log output, etc.

Expected Results:

What did you expect to happen?
Read in the Readme in the installation part how to set a project and a framework using SPM

As part of this, I already have done the configuration and I'm ready to open a PR with the updates for the README

It should be noted, firebaseui-ios depends on googlesignin being 6.0.0 as well.

have document ？


Doesn't even start

Reports "../flask-blueprint-tutorial-master/flask_blueprint_tutorial/api.py", line 18, in fetch_products
products = req.json()["products"]
KeyError: 'products'
What sense it makes to publish something without basic testing?

So, you probably have not even grabbed the API key that is mentioned in the tutorial. If you do not read the tutorial in its entirety you can be sure that things will not work correctly. I have worked with flask/python for years, and I can tell you that this is the absolute BEST flask-blueprint tutorial there is on the internet. It's clean, simple, elegant and uses all best practices and methods (IMHO) when building out an application that utilises these technologies. Cheers.

Could you use faker or similar instead of needing people to sign up for a key for bestbuy, or even use an open API instead?
Really like your tutorial but also finding the bestbuy key could be a little off putting for some following along.
https://mixedanalytics.com/blog/list-actually-free-open-no-auth-needed-apis/
Just a thought


[JavaScript] Queue & Stack

Created a fresh PR with all suggested changes. Kindly review.

@amanmehara Can you please label this PR as hacktoberfest-accepted. This PR is not labelled.


enhance: add ExtraAttribute functionality in LogInfo

Signed-off-by: Wei Fu<EMAIL_ADDRESS>
Ⅰ. Describe what this PR did
Allow user to consume container's labels and envs data in log file.
Ⅱ. Does this pull request fix one issue?

NONE
Ⅲ. Describe how you did it
Add ExtraAttributes function for Info so that we can use template to consume the data from container.
Ⅳ. Describe how to verify it
pouch run -it \
     --env VERSION=unknown-oops \
     --label from=me \
     --log-driver syslog \
     --log-opt env=VERSION \
     --log-opt labels=from \
     --log-opt "tag={{with .ExtraAttributes nil}}version is {{.VERSION}} from {{.from}}{{end}}" \
     busybox echo hello

We will get the log data in /var/log/syslog
Jul 11 18:00:59 ubuntu-xenial version is unknown-oops from me[6609]: hello

Ⅴ. Special notes for reviews

Codecov Report

Merging #1714 into master will decrease coverage by 0.04%.
The diff coverage is 3.12%.

@@            Coverage Diff             @@
##           master    #1714      +/-   ##
==========================================
- Coverage   41.18%   41.14%   -0.05%
==========================================
  Files         274      274
  Lines       18091    18123      +32
==========================================
+ Hits         7451     7456       +5
- Misses       9728     9756      +28
+ Partials      912      911       -1

Impacted Files
Coverage Δ

daemon/logger/info.go
0% <0%> (ø)
:arrow_up:

daemon/mgr/container_logger.go
84.61% <100%> (+0.61%)
:arrow_up:

ctrd/image.go
77.47% <0%> (+2.19%)
:arrow_up:

lgtm


Remove withDefaultTrue + withDefaultFalse util methods

After some real-world usage, we don't think that these two methods add much over the direct use of withDefault(foo, true). Goal of removing them is to keep the API surface as minimal as possible while providing the same functionality.
These are the methods to remove, along with any usages in hoist-react and Toolbox, of course:
https://github.com/exhi/hoist-react/blob/develop/utils/js/LangUtils.js#L69
@lbwexler please confirm anytime if you wanted to go ahead with this - I wanted to file while I was thinking of it but want to ensure you were ready to pull the trigger on it.

Absolutely  🔫

Please note that in some cases the one thing this may be providing is the ability to cast a "truthy" (or "falsy" to a proper boolean.  If you need that behavior (i.e., the API not clearly expecting a boolean) then please use the following syntax:
!!withDefault(this.flexObjectThatMightBeAString, true)
But I think this is actually the minority of cases...

Can we knock this one off?  Trying to keep our bug count manageable and get low-hanging fruit...


[WIP] add documentations for useSWRMutation

Description
This adds the documentation for useSWRMutation.
I've refined the structure of the mutation page to align with other pages.
I've also added the use case of using useSWRMutation for loading data.

[ ] Adding new page
[x] Updating existing documentation
[ ] Other updates

I'll write documentation for other languages after the review for the English documentation has been approved.


react-native run-android is not opening the packager properly

react-native run-android is not running the packager properly (indexing of files doesn't  start),but when running react-native run-ios  everything works fine and the packager opens and starts indexing files .
react-version: "react-native": "0.53.0",
The Packager when using react-native run-ios:

===================================================================
The Packager when using react-native run-android:

<And then the app Crashes even if i pressed Reload, >
Is it something from the android studio ?

Fixed it By deleting the android folder and running the following command:
< react-native upgrade >
but be sure to run again : < react-native link >


A BUG in "values.yaml"

Hi.
It seems like you have a bug in the "values.yaml" file.
The line "pullSecretName" which defines a secret for image pulling at times appears with one capital letter (i.e. "pullsecretName", line 854) and at times appears with two capital letters (i.e. "pullSecretName", line 670).
When deploying like that, some pods do not get the reference to the secret unless all occurrences are updated to use 2 capital letters.

Thanks!
BTW - it seems like this is not conclusive: after deploying on several clusters I noticed that even using 1 capital letter works but something is still very odd - sometimes it works with 2 capitals and on other times it works with 1 capital.
When I tried using the working yaml from the 1st deploy on a 2nd cluster, I got "no basic auth" error for my repo which was set correctly - half of the pods DID get to the running phase. I can't understand how is that possible...
Anyway, after changing the yaml to use 1 capital for this directive it suddenly worked!
And again when I tried it on a 3rd cluster, again same problem...Then I changed to 2 capitals again and it worked again....
Any idea what is going on here??? ...