[BUG] needs dependency graph is broken

With helmfile v0.139.9 it seems that the needs dependencies behaviour is broken.
With the following example:
- name: amazing-app-test-1
  chart: my-repo/amazing-app
  version: 2.0.14
  installed: true
  timeout: 300
  needs:
  - devops/amazing-app-test-3
  values: []
- name: amazing-app-test-2
  chart: my-repo/amazing-app
  version: 2.0.14
  installed: true
  timeout: 300
  needs:
  - devops/amazing-app-test-1
  values: []
- name: amazing-app-test-3
  chart: my-repo/amazing-app
  version: 2.0.14
  installed: true
  timeout: 300
  needs: []
  values: []

Previous behaviour - v0.138.4 (correct):
Upgrading release=amazing-app-test-3, chart=my-repo/amazing-app
Release "amazing-app-test-3" does not exist. Installing it now.
 Installing it now.
NAME: amazing-app-test-1
LAST DEPLOYED: Mon Jun 14 10:56:28 2021
NAMESPACE: devops
STATUS: deployed
REVISION: 1
TEST SUITE: None

Listing releases matching ^amazing-app-test-1$
amazing-app-test-1	devops   	1       	2021-06-14 10:56:28.275669 +0300 IDT	deployed	amazing-app-2.0.14	1.0

Upgrading release=amazing-app-test-2, chart=my-repo/amazing-app
Release "amazing-app-test-2" does not exist. Installing it now.
NAME: amazing-app-test-2
LAST DEPLOYED: Mon Jun 14 10:57:09 2021
NAMESPACE: devops
STATUS: deployed
REVISION: 1
TEST SUITE: None

Listing releases matching ^amazing-app-test-2$
amazing-app-test-2	devops   	1       	2021-06-14 10:57:09.207185 +0300 IDT	deployed	amazing-app-2.0.14	1.0

New behaviour - v0.139.9 (incorrect - releases 1 & 2 are installed in parallel):
Upgrading release=amazing-app-test-3, chart=my-repo/amazing-app
Release "amazing-app-test-3" does not exist. Installing it now.
 Installing it now.
NAME: amazing-app-test-1
LAST DEPLOYED: Mon Jun 14 11:02:16 2021
NAMESPACE: devops
STATUS: deployed
REVISION: 1
TEST SUITE: None

Listing releases matching ^amazing-app-test-1$
Release "amazing-app-test-2" does not exist. Installing it now.
NAME: amazing-app-test-2
LAST DEPLOYED: Mon Jun 14 11:02:16 2021
NAMESPACE: devops
STATUS: deployed
REVISION: 1
TEST SUITE: None

Listing releases matching ^amazing-app-test-2$
amazing-app-test-1	devops   	1       	2021-06-14 11:02:16.553073 +0300 IDT	deployed	amazing-app-2.0.14	1.0

amazing-app-test-2	devops   	1       	2021-06-14 11:02:16.419325 +0300 IDT	deployed	amazing-app-2.0.14	1.0

I noticed the very same behaviour, it seemed that the need option was completely ignored 😕

Running into this as well.

@mumoshu can you please address this?

Sorry everyone I've been occupied by other matters these days so I won't be able to work on this shortly.
It would be great if anyone could stand up and submit a PR for this. I'll gladly review any PR related to this ASAP.

Maybe it's caused by this https://github.com/roboll/helmfile/releases/tag/v0.139.2 ?

can be enabled as a default with
helmDefaults:
  skipDeps: false

--include-needs or --skip-needs=false will not solve this issue.
@mumoshu the whole include-needs feature get reverted in order to fix this bug?
We are currently blocked from upgrading our helmfile version.

@dm3ch Ah that's a good point! Maybe we should enable --include-needs by default, rather than enabling --skip-needs?
If anyone could submit a feature to change the default, like I've done for --skip-needs in https://github.com/roboll/helmfile/pull/1835, I would gladly review it.

@dudicoco Does it have something to do with you're missing namespace: devops in your releases, even though you refer to dependencies with namespaces like devops/amazing-app-test-3? My understanding was that you can use namespacced dependency only when you have namespace defined in the dependeded release.

@mumoshu we have one helmfile.yaml file which loads all of the releases and templates them, during the templating the namespace is added, so this is not the issue here.
This has worked for us in v0.138.4.
--include-needs will not solve the issue, as we do not want to force add releases defined in the needs block unless they were explicitly included via --label.

@dm3ch Well would you mind clarifying what are you expecting from --include-needs vs --skip-needs, exactly? They controls how Helmfile handles indirectly selected releases, to be installed along with directly selected releases, or to be skipped.

@dudicoco Gotcha! Thanks. Do you have any blocker that prevents you from fixing Helmfile in the main branch(as I currently lack spare time to work on Helmfile) OR sticking with v0.138.4?

@mumoshu can you please elaborate on what you mean by fixing Helmfile in the main branch?
On a side note, perhaps additional maintainers should be added to the repository? There is a high traffic on this repository and I understand the difficulty in maintaining it all by yourself :)
Thanks

can you please elaborate on what you mean by fixing Helmfile in the main branch?

@dudicoco I mean "what is preventing you from submitting a pull request yourself" 😃

On a side note, perhaps additional maintainers should be added to the repository? There is a high traffic on this repository and I understand the difficulty in maintaining it all by yourself :)

Yes, I and @renehernandez have already done our best at #1824 and a few Slack channels but had no luck so far. I don't have admin privilege on this repo so I can't add additional maintainers as of today.

FYI, we have already a lot of unit tests like https://github.com/roboll/helmfile/blob/master/pkg/app/app_test.go#L2749 that are for avoiding regressions like this. At least unit tests are passing. Especially the smoke test covers multiple releases with a complex DAG so needs should work. Apparently there're still edge-cases?

@mumoshu if it's a PR for fixing the bug, I don't think i'll be able to find and fix the problem within the code :)
If it's for reverting the include-needs feature, I could give it a shot.
Regarding the smoke test, the use case here is very simple and straightforward use of needs so I don't believe it's an edge-case, I've noticed that the smoke test uses releases without namespace prefixed, perhaps this is why they are passing?

I recently verified needs to work while verifying another issue #1959. For #1959, it was that the need is silently ignored if you had any typo in namespace or name of the needed release. So I added an explicit error in that case, in #2026.
Everyone, would you mind sharing a single helmfile.yaml that needs doesn't work with?
It's already a half year since this issue has been created but I didn't receive any single helmfile.yaml for reproduction.
The first example provided by @dudicoco in this issue lacked namespace in the needed release but he says it's a kind of a base template that is source of the final helmfile.yaml 🤔 https://github.com/roboll/helmfile/issues/1881#issuecomment-886570194

Hi @mumoshu, here's a more complete helmfile.yaml for reproduction:
- name: amazing-app-test-1
  chart: my-repo/amazing-app
  kubeContext: my-context
  namespace: devops
  version: 2.0.14
  installed: true
  timeout: 300
  needs:
  - my-context/devops/amazing-app-test-3
  values: []
- name: amazing-app-test-2
  chart: my-repo/amazing-app
  kubeContext: my-context
  namespace: devops
  version: 2.0.14
  installed: true
  timeout: 300
  needs:
  - my-context/devops/amazing-app-test-1
  values: []
- name: amazing-app-test-3
  chart: my-repo/amazing-app
  kubeContext: my-context
  namespace: devops
  version: 2.0.14
  installed: true
  timeout: 300
  needs: []
  values: []

Let me know if anything else is needed.

@dudicoco Thanks! FWIW, I couldn't reproduce the problem with helmfile 0.139.9
Upgrading release=amazing-app-test-3, chart=my-repo/amazing-app
Release "amazing-app-test-3" does not exist. Installing it now.
NAME: amazing-app-test-3
LAST DEPLOYED: Mon Jan 10 06:07:46 2022
NAMESPACE: devops
STATUS: deployed
REVISION: 1
NOTES:
1. Get the application URL by running these commands:
  export POD_NAME=$(kubectl get pods --namespace devops -l "app.kubernetes.io/name=amazing-app,app.kubernetes.io/instance=amazing-app-test-3" -o jsonpath="{.items[0].metadata.name}")
  export CONTAINER_PORT=$(kubectl get pod --namespace devops $POD_NAME -o jsonpath="{.spec.containers[0].ports[0].containerPort}")
  echo "Visit http://<IP_ADDRESS>:8080 to use your application"
  kubectl --namespace devops port-forward $POD_NAME 8080:$CONTAINER_PORT

Listing releases matching ^amazing-app-test-3$
amazing-app-test-3      devops          1               2022-01-10 06:07:46.038450005 +0000 UTC  deployed        amazing-app-<IP_ADDRESS>.0

Upgrading release=amazing-app-test-1, chart=my-repo/amazing-app
Release "amazing-app-test-1" does not exist. Installing it now.
NAME: amazing-app-test-1
LAST DEPLOYED: Mon Jan 10 06:07:46 2022
NAMESPACE: devops
STATUS: deployed
REVISION: 1
NOTES:
1. Get the application URL by running these commands:
  export POD_NAME=$(kubectl get pods --namespace devops -l "app.kubernetes.io/name=amazing-app,app.kubernetes.io/instance=amazing-app-test-1" -o jsonpath="{.items[0].metadata.name}")
  export CONTAINER_PORT=$(kubectl get pod --namespace devops $POD_NAME -o jsonpath="{.spec.containers[0].ports[0].containerPort}")
  echo "Visit http://<IP_ADDRESS>:8080 to use your application"
  kubectl --namespace devops port-forward $POD_NAME 8080:$CONTAINER_PORT

Listing releases matching ^amazing-app-test-1$
amazing-app-test-1      devops          1               2022-01-10 06:07:46.682626195 +0000 UTC  deployed        amazing-app-<IP_ADDRESS>.0

Upgrading release=amazing-app-test-2, chart=my-repo/amazing-app
Release "amazing-app-test-2" does not exist. Installing it now.
NAME: amazing-app-test-2
LAST DEPLOYED: Mon Jan 10 06:07:47 2022
NAMESPACE: devops
STATUS: deployed
REVISION: 1
NOTES:
1. Get the application URL by running these commands:
  export POD_NAME=$(kubectl get pods --namespace devops -l "app.kubernetes.io/name=amazing-app,app.kubernetes.io/instance=amazing-app-test-2" -o jsonpath="{.items[0].metadata.name}")
  export CONTAINER_PORT=$(kubectl get pod --namespace devops $POD_NAME -o jsonpath="{.spec.containers[0].ports[0].containerPort}")
  echo "Visit http://<IP_ADDRESS>:8080 to use your application"
  kubectl --namespace devops port-forward $POD_NAME 8080:$CONTAINER_PORT

Listing releases matching ^amazing-app-test-2$
amazing-app-test-2      devops          1               2022-01-10 06:07:47.335290788 +0000 UTC  deployed        amazing-app-<IP_ADDRESS>.0

UPDATED RELEASES:
NAME                 CHART                 VERSION
amazing-app-test-3   my-repo/amazing-app     0.1.0
amazing-app-test-1   my-repo/amazing-app     0.1.0
amazing-app-test-2   my-repo/amazing-app     0.1.0

@mumoshu what command did you use to install the releases?
I've used helmfile -e my-environment -l name=amazing-app-test-1 -l name=amazing-app-test-2 -l name=amazing-app-test-3 apply

@dudicoco I just ran plain helmfile apply. I also ran it with -l like the below but it seems to work:
./helmfile-0.139.9 -f helmfile.1881.yaml -l name=amazing-app-test-1 -l name=amazing-app-test-2 -l name=amazing-app-test-3 apply

Upgrading release=amazing-app-test-3, chart=my-repo/amazing-app
Release "amazing-app-test-3" does not exist. Installing it now.
NAME: amazing-app-test-3
LAST DEPLOYED: Mon Jan 10 12:37:36 2022
NAMESPACE: devops
STATUS: deployed
REVISION: 1
NOTES:
1. Get the application URL by running these commands:
  export POD_NAME=$(kubectl get pods --namespace devops -l "app.kubernetes.io/name=amazing-app,app.kubernetes.io/instance=amazing-app-test-3" -o jsonpath="{.items[0].metadata.name}")
  export CONTAINER_PORT=$(kubectl get pod --namespace devops $POD_NAME -o jsonpath="{.spec.containers[0].ports[0].containerPort}")
  echo "Visit http://<IP_ADDRESS>:8080 to use your application"
  kubectl --namespace devops port-forward $POD_NAME 8080:$CONTAINER_PORT

Listing releases matching ^amazing-app-test-3$
amazing-app-test-3      devops          1               2022-01-10 12:37:36.013775617 +0000 UTC  deployed        amazing-app-<IP_ADDRESS>.0

Upgrading release=amazing-app-test-1, chart=my-repo/amazing-app
Release "amazing-app-test-1" does not exist. Installing it now.
NAME: amazing-app-test-1
LAST DEPLOYED: Mon Jan 10 12:37:36 2022
NAMESPACE: devops
STATUS: deployed
REVISION: 1
NOTES:
1. Get the application URL by running these commands:
  export POD_NAME=$(kubectl get pods --namespace devops -l "app.kubernetes.io/name=amazing-app,app.kubernetes.io/instance=amazing-app-test-1" -o jsonpath="{.items[0].metadata.name}")
  export CONTAINER_PORT=$(kubectl get pod --namespace devops $POD_NAME -o jsonpath="{.spec.containers[0].ports[0].containerPort}")
  echo "Visit http://<IP_ADDRESS>:8080 to use your application"
  kubectl --namespace devops port-forward $POD_NAME 8080:$CONTAINER_PORT

Listing releases matching ^amazing-app-test-1$
amazing-app-test-1      devops          1               2022-01-10 12:37:36.658368508 +0000 UTC  deployed        amazing-app-<IP_ADDRESS>.0

Upgrading release=amazing-app-test-2, chart=my-repo/amazing-app
Release "amazing-app-test-2" does not exist. Installing it now.
NAME: amazing-app-test-2
LAST DEPLOYED: Mon Jan 10 12:37:37 2022
NAMESPACE: devops
STATUS: deployed
REVISION: 1
NOTES:
1. Get the application URL by running these commands:
  export POD_NAME=$(kubectl get pods --namespace devops -l "app.kubernetes.io/name=amazing-app,app.kubernetes.io/instance=amazing-app-test-2" -o jsonpath="{.items[0].metadata.name}")
  export CONTAINER_PORT=$(kubectl get pod --namespace devops $POD_NAME -o jsonpath="{.spec.containers[0].ports[0].containerPort}")
  echo "Visit http://<IP_ADDRESS>:8080 to use your application"
  kubectl --namespace devops port-forward $POD_NAME 8080:$CONTAINER_PORT

Listing releases matching ^amazing-app-test-2$
amazing-app-test-2      devops          1               2022-01-10 12:37:37.278351885 +0000 UTC  deployed        amazing-app-<IP_ADDRESS>.0

UPDATED RELEASES:
NAME                 CHART                 VERSION
amazing-app-test-3   my-repo/amazing-app     0.1.0
amazing-app-test-1   my-repo/amazing-app     0.1.0
amazing-app-test-2   my-repo/amazing-app     0.1.0

@mumoshu i've just tried running it many times with different configurations in my helmfile.yaml and the issue did not go away.
Could there be a difference between our helmfile versions? Is there any other information I can provide you with? perhaps debug logs?

@dudicoco Would you mind sharing me a github repo with a complete example of a helmfile project that can reproduce the issue?
I don't actually have access to my-repo/amazing-app in your example so my example is like:
releases:
- name: amazing-app-test-1
  chart: ./my-repo/amazing-app
  kubeContext: my-context
  namespace: devops
  version: 2.0.14
  installed: true
  timeout: 300
  needs:
  - my-context/devops/amazing-app-test-3
  values: []
- name: amazing-app-test-2
  chart: ./my-repo/amazing-app
  kubeContext: my-context
  namespace: devops
  version: 2.0.14
  installed: true
  timeout: 300
  needs:
  - my-context/devops/amazing-app-test-1
  values: []
- name: amazing-app-test-3
  chart: ./my-repo/amazing-app
  kubeContext: my-context
  namespace: devops
  version: 2.0.14
  installed: true
  timeout: 300
  needs: []
  values: []

@mumoshu please try it with chart bitnami/nginx version 9.7.1: https://artifacthub.io/packages/helm/bitnami/nginx
I'm using helmfile version v0.139.9 on darwin x86_64.

Hi @mumoshu, how can we track this issue in the new repo? Should I just reopen it there?


ui version 1.1.5

https://github.com/hyperledger/firefly-ui/releases/tag/v1.1.5

Codecov Report

Merging #1107 (d2d062d) into main (861a84a) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main    #1107   +/-   ##
=======================================
  Coverage   99.97%   99.97%
=======================================
  Files         308      308
  Lines       20460    20460
=======================================
  Hits        20454    20454
  Misses          5        5
  Partials        1        1

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.


Search results truncated(limit: 100)

Search results truncated(limit: 100)  where is the config ?

Displaying more than 100 entries can cost a lot of CPU power hence can cause long delays - I tried this out.
If you want to see all search results you can give my personal fork a try. I changed the search result handling in a way that allows to see them all - 100 per page. Scroll to the end of the list to see the item that allows to switch to the next 100 entries. This way is not perfect however it works for me.

3ks


Azure AD Connect:Fix intending issue, as suggested in the comments

@AndKjell,
Thanks for having already signed the Contribution License Agreement. Your agreement was validated by Microsoft. We will now review your pull request.
Thanks,
Microsoft Pull Request Bot

@femila - Please review the proposed changes. Thanks

#sign-off


Use make -j $(nproc) to speed php build

Is it possible call make -j $(nproc) in install script to speed php build to make good use of multi-cores,
This will save a lot of time.

Hmm... I just got here after a painfullllly slow build process on a 8-core/16-thread machine.
I did some research and found:

asdf-vm/asdf#57
asdf-vm/asdf#75
asdf-vm/asdf#147

On it...


Bug in WandbCallbackHandler

Describe the bug
in WandbCallbackHandler.on_chain_start (row 533 in wandb_callback.py), the name of the input key is hardcoded set to "input" and the name of the output key is hard-coded "output", so if the chain uses any other name for the input key, this results in KyeError.

Traceback (most recent call last):
  File "/Applications/PyCharm.app/Contents/plugins/python/helpers/pydev/pydevd.py", line 1448, in _exec
    pydev_imports.execfile(file, globals, locals)  # execute the script
  File "/Applications/PyCharm.app/Contents/plugins/python/helpers/pydev/_pydev_imps/_pydev_execfile.py", line 18, in execfile
    exec(compile(contents+"\n", file, 'exec'), glob, loc)
  File "use_wandb.py", line 21, in <module>
    res = intenter.get_intent(IntenterInput(query="hi there"))
  File "intenter.py", line 183, in get_intent
    result = self.full_chain(inputs.dict())
  File ".venv/lib/python3.9/site-packages/langchain/chains/base.py", line 107, in __call__
    self.callback_manager.on_chain_start(
  File "venv/lib/python3.9/site-packages/langchain/callbacks/base.py", line 184, in on_chain_start
    handler.on_chain_start(serialized, inputs, **kwargs)
  File ".venv/lib/python3.9/site-packages/langchain/callbacks/wandb_callback.py", line 533, in on_chain_start
    chain_input = inputs["input"]
KeyError: 'input'
python-BaseException

Additional Files
No response
Environment
WandB version: wandb==0.14.0
OS: macOS big sur
Python version: 3.9.9
Versions of relevant libraries: langchain==0.0.118
Additional Context
No response

Thanks!
On Thu, Mar 23, 2023, 17:04 Anish Shah @.***> wrote:

Hey @arkinyaara https://github.com/arkinyaara, thanks for noting this.
Will work on it ASAP 🙌
—
Reply to this email directly, view it on GitHub
https://github.com/hwchase17/langchain/issues/1884#issuecomment-1481358234,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ARLM4UUQVOH65ARRTZLNJWLW5RQ7VANCNFSM6AAAAAAWDZXDUQ
.
You are receiving this because you were mentioned.Message ID:
@.***>

--
Disclaimer: This email, including attachments, is intended solely for the
use of the intended recipient and may be conﬁdential, proprietary, or
protected by any applicable privilege. If you are not the intended
recipient, be advised that any dissemination, distribution, or use of the
contents of this message is prohibited. If you have received this message
in error, please reply that you received the message in error and delete or
destroy the email and any attachment.


useStore hook returned on Store ref

Including a manner by which to consume the resulting Store on the ref allows easy mocking in tests.
Usage:

Tests:

Before
After

Confirmed after changing to the get trap override that it works:


Change bin paths for NixOS compatibility

On NixOS, shells like sh and bash aren't found in /bin; rather, they're stored elsewhere and found in the system environment. Because of this, #!/bin/bash will fail to find the bash shell on NixOS systems.
On the contrary, #!/usr/bin/env sh is compatible with all Linux systems.

Thanks!


ConfigValueError when Training smaller T5 Model according to READ.ME

The error:
ConfigValueError: Unions of containers are not supported:
generation_config: Union[str, Path, GenerationConfig]
    full_key:
    object_type=None

How to reproduce: run the train command in README

Can you give me your omegaconf and hydra versions, and if they are older than the ones below, update them to at least the versions I have?
Python 3.10.10 (main, Mar 21 2023, 18:45:11) [GCC 11.2.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import omegaconf
>>> omegaconf.__version__
'2.3.0'
>>> import hydra
>>> hydra.__version__
'1.2.0'

Yep I have those exact versions.

Hm, I'm unable to reproduce this error. I created a conda environment and cloned the repository from scratch and things worked fine. Specifically:
$ conda create --name gist-test python=3.10
...
$ conda activate gist-test
$ git clone https://github.com/jayelm/gisting
...
$ cd gisting
$ mkdir exp .cache
$ pip install -r requirements.txt
...
Successfully installed GitPython-3.1.31 MarkupSafe-2.1.3 absl-py-1.4.0 accelerate-0.18.0 aiohttp-3.8.4 aiosignal-1.3.1 antlr4-python3-runtime-4.9.3 async-timeout-4.0.2 attrs-23.1.0 certifi-2023.5.7 charset-normalizer-3.1.0 click-8.1.3 cmake-3.26.3 datasets-2.10.0 deepspeed-0.8.3 dill-0.3.6 docker-pycreds-0.4.0 evaluate-0.3.0 filelock-3.12.0 fire-0.5.0 frozenlist-1.3.3 fsspec-2023.5.0 gitdb-4.0.10 hjson-3.1.0 huggingface-hub-0.15.1 hydra-core-1.2.0 idna-3.4 jinja2-3.1.2 joblib-1.2.0 lit-16.0.5.post0 mpmath-1.3.0 multidict-6.0.4 multiprocess-0.70.14 networkx-3.1 ninja-1.11.1 nltk-3.6.2 numpy-1.21.2 nvidia-cublas-cu11-<IP_ADDRESS> nvidia-cuda-cupti-cu11-11.7.101 nvidia-cuda-nvrtc-cu11-11.7.99 nvidia-cuda-runtime-cu11-11.7.99 nvidia-cudnn-cu11-<IP_ADDRESS> nvidia-cufft-cu11-<IP_ADDRESS> nvidia-curand-cu11-<IP_ADDRESS> nvidia-cusolver-cu11-<IP_ADDRESS> nvidia-cusparse-cu11-<IP_ADDRESS> nvidia-nccl-cu11-2.14.3 nvidia-nvtx-cu11-11.7.91 omegaconf-2.3.0 openai-0.27.2 packaging-23.1 pandas-2.0.2 pathtools-0.1.2 promise-2.3 protobuf-4.23.2 psutil-5.9.5 py-cpuinfo-9.0.0 pyarrow-12.0.0 pydantic-1.10.8 python-dateutil-2.8.2 pytz-2023.3 pyyaml-6.0 regex-2023.6.3 requests-2.31.0 responses-0.18.0 rouge_score-0.1.2 sentencepiece-0.1.98 sentry-sdk-1.25.0 setproctitle-1.3.2 shortuuid-1.0.11 six-1.16.0 smmap-5.0.0 sympy-1.12 termcolor-2.3.0 tokenizers-0.13.3 torch-2.0.0 tqdm-4.65.0 transformers-4.28.0.dev0 triton-2.0.0 typing-extensions-4.6.3 tzdata-2023.3 urllib3-2.0.2 wandb-0.13.4 xxhash-3.2.0 yarl-1.9.2

and then
python -m src.train training.gist.num_gist_tokens=2 training.gist.condition=gist wandb.tag=yourtaghere

works fine and starts training.
You might double check the versions listed above ^ and whether there are any mismatches. The error seems to be an omegaconf error so I'm still a bit suspicious there's a version mismatch somewhere.

Yep I have those exact versions.

I meet the same error with you, have you solved it yet?

Hm, I'm unable to reproduce this error. I created a conda environment and cloned the repository from scratch and things worked fine. Specifically:
$ conda create --name gist-test python=3.10
...
$ conda activate gist-test
$ git clone https://github.com/jayelm/gisting
...
$ cd gisting
$ mkdir exp .cache
$ pip install -r requirements.txt
...
Successfully installed GitPython-3.1.31 MarkupSafe-2.1.3 absl-py-1.4.0 accelerate-0.18.0 aiohttp-3.8.4 aiosignal-1.3.1 antlr4-python3-runtime-4.9.3 async-timeout-4.0.2 attrs-23.1.0 certifi-2023.5.7 charset-normalizer-3.1.0 click-8.1.3 cmake-3.26.3 datasets-2.10.0 deepspeed-0.8.3 dill-0.3.6 docker-pycreds-0.4.0 evaluate-0.3.0 filelock-3.12.0 fire-0.5.0 frozenlist-1.3.3 fsspec-2023.5.0 gitdb-4.0.10 hjson-3.1.0 huggingface-hub-0.15.1 hydra-core-1.2.0 idna-3.4 jinja2-3.1.2 joblib-1.2.0 lit-16.0.5.post0 mpmath-1.3.0 multidict-6.0.4 multiprocess-0.70.14 networkx-3.1 ninja-1.11.1 nltk-3.6.2 numpy-1.21.2 nvidia-cublas-cu11-<IP_ADDRESS> nvidia-cuda-cupti-cu11-11.7.101 nvidia-cuda-nvrtc-cu11-11.7.99 nvidia-cuda-runtime-cu11-11.7.99 nvidia-cudnn-cu11-<IP_ADDRESS> nvidia-cufft-cu11-<IP_ADDRESS> nvidia-curand-cu11-<IP_ADDRESS> nvidia-cusolver-cu11-<IP_ADDRESS> nvidia-cusparse-cu11-<IP_ADDRESS> nvidia-nccl-cu11-2.14.3 nvidia-nvtx-cu11-11.7.91 omegaconf-2.3.0 openai-0.27.2 packaging-23.1 pandas-2.0.2 pathtools-0.1.2 promise-2.3 protobuf-4.23.2 psutil-5.9.5 py-cpuinfo-9.0.0 pyarrow-12.0.0 pydantic-1.10.8 python-dateutil-2.8.2 pytz-2023.3 pyyaml-6.0 regex-2023.6.3 requests-2.31.0 responses-0.18.0 rouge_score-0.1.2 sentencepiece-0.1.98 sentry-sdk-1.25.0 setproctitle-1.3.2 shortuuid-1.0.11 six-1.16.0 smmap-5.0.0 sympy-1.12 termcolor-2.3.0 tokenizers-0.13.3 torch-2.0.0 tqdm-4.65.0 transformers-4.28.0.dev0 triton-2.0.0 typing-extensions-4.6.3 tzdata-2023.3 urllib3-2.0.2 wandb-0.13.4 xxhash-3.2.0 yarl-1.9.2

and then
python -m src.train training.gist.num_gist_tokens=2 training.gist.condition=gist wandb.tag=yourtaghere

works fine and starts training.
You might double check the versions listed above ^ and whether there are any mismatches. The error seems to be an omegaconf error so I'm still a bit suspicious there's a version mismatch somewhere.

I meet the same problem, and the packages you mentioned above is exactly version 2.3.0 and 1.2.0 in my enviroment, but I still can't run the code

I meet the same problem, and the packages you mentioned above is exactly version 2.3.0 and 1.2.0 in my enviroment, but I still can't run the code

By this do you mean you created a new conda environment using python 3.10 and the steps outlined in the quoted post (conda create --name gist-test python=3.10), installed the requirements from requirements.txt, and still ran into this error?

As a workaround you may be able to set
generation_config: Optional[str] = None
here: https://github.com/jayelm/gisting/blob/main/src/arguments.py#L137-L138
to change the type of generation_config and see if that satisfies the omegaconf typechecker.

I meet the same problem, and the packages you mentioned above is exactly version 2.3.0 and 1.2.0 in my enviroment, but I still can't run the code

By this do you mean you created a new conda environment using python 3.10 and the steps outlined in the quoted post (conda create --name gist-test python=3.10), installed the requirements from requirements.txt, and still ran into this error?

yes exactly！

sorry, I'm not sure how to change it? could you please give me a more specific instruction? thanks a lot!

Replace the lines linked above with:
@dataclass
class GistSeq2SeqTrainingArguments(GistTrainingArguments, Seq2SeqTrainingArguments):
    generation_config: Optional[str] = None

and let me know if that works.

As a workaround you may be able to set
generation_config: Optional[str] = None
here: https://github.com/jayelm/gisting/blob/main/src/arguments.py#L137-L138
to change the type of generation_config and see if that satisfies the omegaconf typechecker.

do you mean that add "generation_config: Optional[str] = None" into the function you mentioned?(above or substitute the pass line)

and let me know if that works.

ok I replace the line but it doesn't work, another error happened

ok I replace the line but it doesn't work, another error happened

can you be more specific?

the error happened in the 96 lines in the file:  /site-packages/hydra/core/override_parser/overrides_parser.py
here's the info:
Exception has occurred: OverrideParseException       (note: full exception trace is shown but execution is paused at: _run_module_as_main)
mismatched input '=' expecting
See https://hydra.cc/docs/next/advanced/override_grammar/basic for details
File "/data/wupf/anaconda3/envs/gist/lib/python3.9/site-packages/hydra/grammar/gen/OverrideParser.py", line 276, in override
self.match(OverrideParser.EOF)
File "/data/wupf/anaconda3/envs/gist/lib/python3.9/site-packages/antlr4/Parser.py", line 126, in match
t = self._errHandler.recoverInline(self)
File "/data/wupf/anaconda3/envs/gist/lib/python3.9/site-packages/antlr4/error/ErrorStrategy.py", line 407, in recoverInline
raise InputMismatchException(recognizer)
antlr4.error.Errors.InputMismatchException: None
During handling of the above exception, another exception occurred:
File "/data/wupf/anaconda3/envs/gist/lib/python3.9/site-packages/hydra/core/override_parser/overrides_parser.py", line 82, in parse_overrides
parsed = self.parse_rule(override, "override")
File "/data/wupf/anaconda3/envs/gist/lib/python3.9/site-packages/hydra/core/override_parser/overrides_parser.py", line 66, in parse_rule
tree = rule()
File "/data/wupf/anaconda3/envs/gist/lib/python3.9/site-packages/hydra/grammar/gen/OverrideParser.py", line 279, in override
self._errHandler.reportError(self, re)
File "/data/wupf/anaconda3/envs/gist/lib/python3.9/site-packages/antlr4/error/ErrorStrategy.py", line 128, in reportError
self.reportInputMismatch(recognizer, e)
File "/data/wupf/anaconda3/envs/gist/lib/python3.9/site-packages/antlr4/error/ErrorStrategy.py", line 275, in reportInputMismatch
recognizer.notifyErrorListeners(msg, e.offendingToken, e)
File "/data/wupf/anaconda3/envs/gist/lib/python3.9/site-packages/antlr4/Parser.py", line 322, in notifyErrorListeners
listener.syntaxError(self, offendingToken, line, column, msg, e)
File "/data/wupf/anaconda3/envs/gist/lib/python3.9/site-packages/antlr4/error/ErrorListener.py", line 60, in syntaxError
delegate.syntaxError(recognizer, offendingSymbol, line, column, msg, e)
File "/data/wupf/anaconda3/envs/gist/lib/python3.9/site-packages/hydra/core/override_parser/overrides_visitor.py", line 372, in syntaxError
raise HydraException(msg) from e
hydra.errors.HydraException: mismatched input '=' expecting
During handling of the above exception, another exception occurred:
File "/data/wupf/anaconda3/envs/gist/lib/python3.9/site-packages/hydra/core/override_parser/overrides_parser.py", line 96, in parse_overrides
raise OverrideParseException(
File "/data/wupf/anaconda3/envs/gist/lib/python3.9/site-packages/hydra/_internal/config_loader_impl.py", line 233, in _load_configuration_impl
parsed_overrides = parser.parse_overrides(overrides=overrides)
File "/data/wupf/anaconda3/envs/gist/lib/python3.9/site-packages/hydra/_internal/config_loader_impl.py", line 141, in load_configuration
return self._load_configuration_impl(
File "/data/wupf/anaconda3/envs/gist/lib/python3.9/site-packages/hydra/_internal/hydra.py", line 594, in compose_config
cfg = self.config_loader.load_configuration(
File "/data/wupf/anaconda3/envs/gist/lib/python3.9/site-packages/hydra/_internal/hydra.py", line 105, in run
cfg = self.compose_config(
File "/data/wupf/anaconda3/envs/gist/lib/python3.9/site-packages/hydra/_internal/utils.py", line 453, in
lambda: hydra.run(
File "/data/wupf/anaconda3/envs/gist/lib/python3.9/site-packages/hydra/_internal/utils.py", line 216, in run_and_report
raise ex
File "/data/wupf/anaconda3/envs/gist/lib/python3.9/site-packages/hydra/_internal/utils.py", line 216, in run_and_report
raise ex
File "/data/wupf/anaconda3/envs/gist/lib/python3.9/site-packages/hydra/_internal/utils.py", line 452, in _run_app
run_and_report(
File "/data/wupf/anaconda3/envs/gist/lib/python3.9/site-packages/hydra/_internal/utils.py", line 389, in _run_hydra
_run_app(
File "/data/wupf/anaconda3/envs/gist/lib/python3.9/site-packages/hydra/main.py", line 90, in decorated_main
_run_hydra(
File "/data/wupf/gisting/src/train.py", line 360, in
main()
File "/data/wupf/anaconda3/envs/gist/lib/python3.9/runpy.py", line 87, in _run_code
exec(code, run_globals)
File "/data/wupf/anaconda3/envs/gist/lib/python3.9/runpy.py", line 197, in _run_module_as_main (Current frame)
return _run_code(code, main_globals, None,
hydra.errors.OverrideParseException: mismatched input '=' expecting
See https://hydra.cc/docs/next/advanced/override_grammar/basic for details

Can you give the full command you ran to produce this error? This seems to be a syntax issue with how arguments were specified in the CLI.

Can you give the full command you ran to produce this error? This seems to be a syntax issue with how arguments were specified in the CLI.

thanks for your reply, the syntax bug I mentioned above is happened when I use the debug mode in the Vscode, the configuration in launch.json is wrote as:

    {
        "name": "gist_official",
        "type": "python",
        "python": "/data/wupf/anaconda3/envs/gist/bin/python",
        "request": "launch",
        "module": "src.train",
        "console": "integratedTerminal",
        "justMyCode": false,
        "args": ["training.gist.num_gist_tokens=2 training.gist.condition=gist"],
        "env": {"CUDA_VISIBLE_DEVICES": "3"},
        "cwd": "/data/wupf/gisting"
    },

does splitting up the two args into separate strings:
        "args": ["training.gist.num_gist_tokens=2", "training.gist.condition=gist"],

help? Or even just removing the args entirely for now to see if it runs.

Can you give the full command you ran to produce this error? This seems to be a syntax issue with how arguments were specified in the CLI.

then I direct run the command in the shell: python -m src.train training.gist.num_gist_tokens=2 training.gist.condition=gist，and another bug was happened and confused me:       Error executing job with overrides: ['training.gist.num_gist_tokens=2', 'training.gist.condition=gist']
Traceback (most recent call last):
File "/data/wupf/gisting/src/train.py", line 61, in main
args: Arguments = global_setup(args)
File "/data/wupf/gisting/src/arguments.py", line 335, in global_setup
args = OmegaConf.to_object(args)
ImportError: Using the Trainer with PyTorch requires accelerate>=0.20.1: Please run pip install transformers[torch] or pip install accelerate -U
Set the environment variable HYDRA_FULL_ERROR=1 for a complete stack trace.

n just removing the args entirely

I'm very confused because the newest version of accelerate is 0.19.0 and I use pip install accelerate -U, the package installed is exactly 0.19.0。。。。

does splitting up the two args into separate strings:
        "args": ["training.gist.num_gist_tokens=2", "training.gist.condition=gist"],

help? Or even just removing the args entirely for now to see if it runs.

I do this and it report the bug:  "Using the Trainer with PyTorch requires accelerate>=0.20.1: Please run pip install transformers[torch] or pip install accelerate -U"

I do this and it report the bug: "Using the Trainer with PyTorch requires accelerate>=0.20.1: Please run pip install transformers[torch] or pip install accelerate -U"

I still suspect there is some sort of version mismatch between the env you're using and the one specified in requirements.txt, as requirements.txt specifies accelerate version 0.18 and I'm able to run that env with no issues (and this is also likely the cause of the config error)—maybe double check the transformers version you're installing is exactly the commit pinned in requirements.txt?

, as requirements.txt specifies accelerate version 0.18 and I'm able to run that env with no issues (and this is also likely the cause of the config error)—maybe double check the transformers version you're installing is exactly the commit pinned in requirements.txt?

luckly I reinstalled the whole process, and it seemed to fix everything！！ thanks a lot for your support, and this line "generation_config: Optional[str] = None" is very necessary！！

I do this and it report the bug: "Using the Trainer with PyTorch requires accelerate>=0.20.1: Please run pip install transformers[torch] or pip install accelerate -U"

I still suspect there is some sort of version mismatch between the env you're using and the one specified in requirements.txt, as requirements.txt specifies accelerate version 0.18 and I'm able to run that env with no issues (and this is also likely the cause of the config error)—maybe double check the transformers version you're installing is exactly the commit pinned in requirements.txt?

wonderful work， the intuition of "change the attention to allow the model to learn how to compress the prompt sentence" is simple and useless!!!

I do this and it report the bug: "Using the Trainer with PyTorch requires accelerate>=0.20.1: Please run pip install transformers[torch] or pip install accelerate -U"

I still suspect there is some sort of version mismatch between the env you're using and the one specified in requirements.txt, as requirements.txt specifies accelerate version 0.18 and I'm able to run that env with no issues (and this is also likely the cause of the config error)—maybe double check the transformers version you're installing is exactly the commit pinned in requirements.txt?

wonderful work， the intuition of "change the attention to allow the model to learn how to compress the prompt sentence" is simple and useless!!!

sorry I mean useful!! not useless。。。

luckly I reinstalled the whole process, and it seemed to fix everything！！ thanks a lot for your support, and this line "generation_config: Optional[str] = None" is very necessary！！

Glad to hear it's working, and thanks!!
I think this workaround (generation_config: Optional[str] = None) should fix OP's issue as well, so I'll close this issue.


[Bug]: Mod Manager not recognizing .pak files on Steam Deck

Operating System
Linux (SteamOS)
BG3 Mod Manager Version
<IP_ADDRESS>
BG3 Game Version
Full release (not sure on patch) Hotfix #25
Bug Summary
I know this is only officially supported in Windows, but I've been using this mod manager on my Steam Deck for several months now, and only just started having an issue since the Steam Deck updated from Proton 8.0 to Proton 9.0. I've been using the mod manager through Lutris
At first, since the Proton 9.0 update, the mod manager wouldn't open at all. I reuploaded it into Lutris again, but changed the settings so that it would open in Proton 8.0. The mod manager is now opening, but all of my mods are gone, and I'm getting an error on the bottom of my screen when I open the mod manager. I'll attach a picture of what it looks like
Then when I go to import a mod, it's not identifying the mod as a .pak file. It says "mod was not imported, does it contain a .pak?" I've tried redownloading a couple mods again and importing those, just to see if the .pak file was somehow different, and I keep getting the same message
I'll attach a link to the youtube video I watched to initially install the mod manager, if that helps
Like I said, everything was working fine until this Proton 9.0 update

Links
https://www.youtube.com/watch?v=prTSwXazPHg

I'm having the exact same issue

i'm also experiencing the same issue where my bg3mm won't recognize my mods as a .pak file and asks if its a .pak file, if theres anybody that could possibly help that would be super great because this has been making me feel bummed out :/

All you need to do for it to recognize the .paks is move the fully unzipped .pak files to the following directory, then either close and restart bg3mm or just hit f5
/home/$USER/.local/share/Steam/steamapps/compatdata/1086940/pfx/drive_c/users/steamuser/AppData/Local/Larian Studios/Baldur's Gate 3/Mods/

I've been using this guide and run into this issue.
The problem for me was a broken link. I commented on the guide with my solution.


Doesn't seem to compile on 1.3.2

I just updated to 1.3.2, and I have loads of compile errors inside the Pod framework.
Such as
/Pods/FontAwesome.swift/FontAwesome/FontAwesomeBarButtonItem.swift:49:40: Argument labels '(rawValue:)' do not match any available overloads
/Pods/FontAwesome.swift/FontAwesome/FontAwesomeBarButtonItem.swift:53:36: Cannot convert value of type '[NSAttributedStringKey : Any]' (aka 'Dictionary<NSString, Any>') to expected argument type '[String : Any]?'
What's going on? I tried Swift 3.2 and Swift 4 - same problem.

I got the exact same issue and fixed it. I switched my project to Swift 4 (Build Settings-> Swift Language Version) and did a complete pod cleanup (https://stackoverflow.com/questions/46428752/how-to-clear-or-clean-specific-pod-cache)


Renamed AST classes

Implements the renaming of the AST classes as discussed at http://discuss.asciidoctor.org/dev-Reorganization-of-the-AsciidoctorJ-AST-data-structures-td2991.html#a3606
That is the new AST hierarchy is:
FlowNode
 +- StructuralNode
 | +- Block
 | +- Section
 | +- Document
 | +- List
 | +- ListItem
 | +- Table
 +- PhrasingNode

Also moved all implementations to the package org.asciidoctor.ast.impl to reduce the size of the last package.

I've let my mind sleep on these new names and I'm happy to say that they feel right coming back to them, with one exception. I don't think "FlowNode" should be the top of the tree. I think that's overly specific for the root node as we could have other nodes in the future (like MetaDataNode or something) that isn't a FlowNode. I think the right name may be "ContentNode" since all of this is content...that is our domain. wdyt?

:+1: Will change the PR asap.

Renamed FlowNode to ContentNode.

@mojavelinux: Should I merge and add an announcement to the discussion list?

How about post to the list under a new subject that a decision has been made and that the change is pending, but we're inviting comment before it happens.

Renamed Inline to PhraseNode.


How to prevent this error: terminate called after throwing an instance of 'std::runtime_error'   what():  Connection timed out

So if my server remains idle for too long, It shuts down with this error. Any help would be greatly appreciated :) thanks

run the server under "strace" and examine the log.
/usr/bin/strace -o /tmp/server.log -f ./${your_server_binary}
(or equivalent)

This error occurs if I keep the server running and keep it idle. It might take me a few days to replicate this error.


[Relay][Frontend][keras] added interpolation method of Upsampling2D

During converting keras model to relay, upsampling2d always uses nearest interpolation method but keras supports bilinear and nearest methods.

@lhelontra Please add a testcase

@lhelontra Thanks, this is merged.


Fix RETURN selector

Properly match return when it's the last instruction in the method

Well, I'm not exactly sure why this isn't an issue with other injectors since they use similar logic - I suppose not really of relevance since they cannot match returns.
Also, I haven't tested with slices so far. I anticipate this PR might change some behavior on that front, but it's unlikely you'd want to match the last instruction of a slice anyways since the At was already programmed for that.

I imagine there are issues with other injectors, its just an edge case because return is more likely to be the last instruction. Instructions anywhere within body work as intended

I think its best to getSelected from SlicedInjectionPointSelector instead of instruction after it. That way you can still target last instruction when the bounds are set explicitly

that makes sense. I'll keep that in the back of my mind - hopefully.


trim the dot character from an accountID when reporting it to graphite

The dot character is the graphite metrics separator, and its a valid character for the account id in solidfire, so this conflicts.
Also fixing some minor typos in documentation.

Another commit to allow extra --debug command line argument.


have printf return BaseSim subclass so it can be named/annotated

Contributor Checklist

[x] Did you add Scaladoc to every public function/method?
[x] Did you add at least one test demonstrating the PR?
[x] Did you delete any extraneous printlns/debugging code?
[x] Did you specify the type of improvement?
[ ] Did you add appropriate documentation in docs/src?
[x] Did you state the API impact?
[x] Did you specify the code generation impact?
[x] Did you request a desired merge strategy?
[x] Did you add text to be included in the Release Notes for this change?

Type of Improvement

new feature/API

API Impact

This change extends the user API, as users can now annotate printf calls.
Backend Code Generation Impact

All printfs will be named in FIRRTL output. There should be no impact on generated RTL.
Desired Merge Strategy

Squash: The PR will be squashed and merged (choose this if you have no preference.

Release Notes

printf nodes will all be given default names unless one is suggested/provided by the user. printf calls can be annotated.
Reviewer Checklist (only modified by reviewer)

[ ] Did you add the appropriate labels?
[ ] Did you mark the proper milestone (3.2.x, 3.3.x, 3.4.x, 3.5.0) ?
[ ] Did you review?
[ ] Did you check whether all relevant Contributor checkboxes have been checked?
[ ] Did you mark as Please Merge?

cc @jackkoenig

This might be interesting for Firesim @davidbiancolin

and Stop？

@debs-sifive could you update the PR title please?

Title is updated, but please hold off on merging for a bit — I'm attempting to rename PrintfId to Printf (not sure if it will work nicely though)

Title is updated, but please hold off on merging for a bit — I'm attempting to rename PrintfId to Printf (not sure if it will work nicely though)

Sounds good. Please remove the DO NOT MERGE label once you are ready (or ask one of us to remove it in case you are lacking the permissions).


chore: fmt all

Please read contributing guidelines and remove this line.

#9409  👈
master

This stack of pull requests is managed by Graphite. Learn more about stacking.

Join @benesjan and the rest of your teammates on  Graphite

Oh lord.... :rofl: every PR that exists is about to have a million conflicts

Maybe we could hold off on this until the weekend when there are less pending PRs?

@dbanks12 I think if run the formatter in your PR as well then git should understand the diff and it should not cause conflicts. It also made my PR unmergeable because it just complained about the files not being formatted (since we probably switched to new nargo there).

 Closing the PR

Ah okay


Charm errorring with plugin configuration secret was not provided even though secret-id is set

Bug Description
charm is provided a secret id via config but charm is not picking that up
To Reproduce
used the following terraform in our private cloud, used vault for providing the secret
terraform {
  required_version = ">= 1.6.6"
  required_providers {
    juju = {
      source  = "juju/juju"
      version = ">= 0.15.0"
    }
    openstack = {
      source  = "terraform-provider-openstack/openstack"
      version = ">= 1.53.0"
    }

    vault = {
      source  = "hashicorp/vault"
      version = ">= 3.23.0"
    }
  }
}

variable "model" {
  description = "The name of the Juju model."
  type        = string
  default     = ""
}

variable "name" {
  description = "The name of the Juju application."
  type        = string
  default     = "lego"
}

variable "trust" {
  description = "The status to grant the Juju application full access to the cluster."
  type        = bool
  default     = true
}

variable "secret_path" {
  description = "The path of the secret containing the charm sensitive configuration."
  type        = string
}

variable "charm" {
  description = "The application charm operator information."
  type = object({
    name : string
    channel : string
    base : string
  })
  default = {
    name    = "lego"
    channel = "4/edge"
    base    =<EMAIL_ADDRESS>  }
}

variable "lego_config" {
  type = object({
    email                       = optional(string<EMAIL_ADDRESS>    httpreq_endpoint            = optional(string, "https://lego-certs.test.com")
    httpreq_http_timeout        = optional(number, 180)
    httpreq_propagation_timeout = optional(number, 600)
  })
  description = <<EOT
    jimm_config = {
      email: "Account email address, this email will receive notifications from Let's Encrypt"
      httpreq_endpoint: "URL of the custom API that can be used to fulfill the DNS-01 challenge."
      httpreq_http_timeout: "API request timeout (seconds)."
      httpreq_propagation_timeout: "Maximum waiting time for DNS propagation (seconds)"
    }
  EOT
  default = {
    email                       =<EMAIL_ADDRESS>    httpreq_endpoint            = "https://lego-certs.test.com"
    httpreq_http_timeout        = 180
    httpreq_propagation_timeout = 600
  }
}

data "juju_model" "model" {
  name = var.model
}

data "vault_generic_secret" "lego_credentials" {
  path = var.secret_path
}

resource "juju_secret" "lego_plugin_secret" {
  model = data.juju_model.model.name
  name  = "lego-httpreq-plugin-secret"
  value = {
    httpreq-endpoint            = var.lego_config.httpreq_endpoint
    httpreq-http_timeout        = var.lego_config.httpreq_http_timeout
    httpreq-propagation_timeout = var.lego_config.httpreq_propagation_timeout
    httpreq-username            = data.vault_generic_secret.lego_credentials.data["username"]
    httpreq-password            = sensitive(data.vault_generic_secret.lego_credentials.data["password"])
  }
  info = "Secret for LEGO charm, httpreq config information included"
}

resource "juju_access_secret" "grant" {
  secret_id    = juju_secret.lego_plugin_secret.secret_id
  model        = data.juju_model.model.name
  applications = [juju_application.lego.name]
}

resource "juju_application" "lego" {
  name  = var.name
  model = data.juju_model.model.name
  trust = var.trust

  charm {
    name    = var.charm.name
    channel = var.charm.channel
    base    = var.charm.base
  }

  config = {
    email                   = var.lego_config.email
    plugin                  = "httpreq"
    plugin-config-secret-id = juju_secret.lego_plugin_secret.secret_id
  }
}

where the vault secret was
me@box:~$ vault kv get secret/dev-core/lego
====== Data ======
Key         Value
---         -----
password    **************************
username    something

and the juju secret is
me@box:~$ juju show-secret ctc1u57mp25c77lu5tsg --reveal
ctc1u57mp25c77lu5tsg:
  revision: 2
  owner: <model>
  description: Secret for LEGO charm, httpreq config information included
  name: lego-httpreq-plugin-secret
  created: 2024-12-10T10:59:33Z
  updated: 2024-12-10T11:06:43Z
  content:
    httpreq-endpoint: https://lego-certs.test.com
    httpreq-http-timeout: "180"
    httpreq-password: ********************
    httpreq-propagation-timeout: "600"
    httpreq-username: something
  access:
  - target: application-lego
    scope: model-f931006d-c35c-440e-879e-622169f4eb7b
    role: view

Environment
4/edge and 4/beta
Relevant log output
ubuntu@dev-k8s-leader:~$ sudo k8s kubectl logs -n dev-core lego-0 -f
Defaulted container "charm" out of: charm, charm-init (init)
2024-12-10T11:43:07.651Z [pebble] HTTP API server listening on ":38812".
2024-12-10T11:43:07.652Z [pebble] Started daemon.
2024-12-10T11:43:07.657Z [pebble] POST /v1/services 2.757764ms 202
2024-12-10T11:43:07.659Z [pebble] Service "container-agent" starting: /charm/bin/containeragent unit --data-dir /var/lib/juju --append-env "PATH=$PATH:/charm/bin" --show-log --charm-modified-version 1
2024-12-10T11:43:07.688Z [container-agent] 2024-12-10 11:43:07 INFO juju.cmd supercommand.go:56 running containerAgent [3.5.5 1d21840563a55809580976df0b4880e03323bbb7 gc go1.23.3]
2024-12-10T11:43:07.688Z [container-agent] starting containeragent unit command
2024-12-10T11:43:07.688Z [container-agent] containeragent unit "unit-lego-0" start (3.5.5 [gc])
2024-12-10T11:43:07.688Z [container-agent] 2024-12-10 11:43:07 INFO juju.cmd.containeragent.unit runner.go:592 start "unit"
2024-12-10T11:43:07.688Z [container-agent] 2024-12-10 11:43:07 INFO juju.worker.upgradesteps worker.go:60 upgrade steps for 3.5.5 have already been run.
2024-12-10T11:43:07.690Z [container-agent] 2024-12-10 11:43:07 INFO juju.worker.probehttpserver server.go:157 starting http server on <IP_ADDRESS>:65301
2024-12-10T11:43:07.713Z [container-agent] 2024-12-10 11:43:07 INFO juju.api apiclient.go:571 connection established to "wss://controller-service.controller-k8s-dev.svc.cluster.local:17070/model/f931006d-c35c-440e-879e-622169f4eb7b/api"
2024-12-10T11:43:07.717Z [container-agent] 2024-12-10 11:43:07 INFO juju.worker.apicaller connect.go:163 [f93100] "unit-lego-0" successfully connected to "controller-service.controller-k8s-dev.svc.cluster.local:17070"
2024-12-10T11:43:07.734Z [container-agent] 2024-12-10 11:43:07 INFO juju.api apiclient.go:571 connection established to "wss://<IP_ADDRESS>:17070/model/f931006d-c35c-440e-879e-622169f4eb7b/api"
2024-12-10T11:43:07.737Z [container-agent] 2024-12-10 11:43:07 INFO juju.worker.apicaller connect.go:163 [f93100] "unit-lego-0" successfully connected to "<IP_ADDRESS>:17070"
2024-12-10T11:43:07.764Z [container-agent] 2024-12-10 11:43:07 INFO juju.worker.migrationminion worker.go:147 migration phase is now: NONE
2024-12-10T11:43:07.765Z [container-agent] 2024-12-10 11:43:07 INFO juju.worker.logger logger.go:120 logger worker started
2024-12-10T11:43:07.779Z [container-agent] 2024-12-10 11:43:07 WARNING juju.worker.proxyupdater proxyupdater.go:241 unable to set snap core settings [proxy.http= proxy.https= proxy.store=]: exec: "snap": executable file not found in $PATH, output: ""
2024-12-10T11:43:07.786Z [container-agent] 2024-12-10 11:43:07 INFO juju.worker.leadership tracker.go:194 lego/0 promoted to leadership of lego
2024-12-10T11:43:07.789Z [container-agent] 2024-12-10 11:43:07 INFO juju.agent.tools symlinks.go:20 ensure jujuc symlinks in /var/lib/juju/tools/unit-lego-0
2024-12-10T11:43:07.791Z [container-agent] 2024-12-10 11:43:07 INFO juju.worker.caasupgrader upgrader.go:113 abort check blocked until version event received
2024-12-10T11:43:07.791Z [container-agent] 2024-12-10 11:43:07 INFO juju.worker.caasupgrader upgrader.go:119 unblocking abort check
2024-12-10T11:43:07.847Z [container-agent] 2024-12-10 11:43:07 INFO juju.worker.uniter uniter.go:363 unit "lego/0" started
2024-12-10T11:43:07.858Z [container-agent] 2024-12-10 11:43:07 INFO juju.worker.uniter uniter.go:389 hooks are retried true
2024-12-10T11:43:07.953Z [container-agent] 2024-12-10 11:43:07 INFO juju.worker.uniter.charm bundles.go:82 downloading ch:amd64/jammy/lego-15 from API server
2024-12-10T11:43:07.953Z [container-agent] 2024-12-10 11:43:07 INFO juju.downloader download.go:112 downloading from ch:amd64/jammy/lego-15
2024-12-10T11:43:08.671Z [pebble] GET /v1/changes/1/wait 1.013143s 200
2024-12-10T11:43:08.671Z [pebble] Started default services with change 1.
2024-12-10T11:43:08.831Z [container-agent] 2024-12-10 11:43:08 INFO juju.downloader download.go:95 download complete ("ch:amd64/jammy/lego-15")
2024-12-10T11:43:08.884Z [container-agent] 2024-12-10 11:43:08 INFO juju.downloader download.go:175 download verified ("ch:amd64/jammy/lego-15")
2024-12-10T11:43:13.999Z [container-agent] 2024-12-10 11:43:13 INFO juju.worker.uniter resolver.go:185 found queued "upgrade-charm" hook
2024-12-10T11:43:14.647Z [container-agent] 2024-12-10 11:43:14 INFO juju-log Running legacy hooks/upgrade-charm.
2024-12-10T11:43:15.527Z [container-agent] 2024-12-10 11:43:15 INFO juju.worker.uniter.operation runhook.go:186 ran "upgrade-charm" hook (via hook dispatching script: dispatch)
2024-12-10T11:43:15.542Z [container-agent] 2024-12-10 11:43:15 INFO juju.worker.uniter resolver.go:185 found queued "config-changed" hook
2024-12-10T11:43:16.137Z [container-agent] 2024-12-10 11:43:16 ERROR juju-log charm config validation failed: plugin configuration secret was not provided
2024-12-10T11:43:16.643Z [container-agent] 2024-12-10 11:43:16 INFO juju.worker.uniter.operation runhook.go:186 ran "config-changed" hook (via hook dispatching script: dispatch)
2024-12-10T11:43:16.677Z [container-agent] 2024-12-10 11:43:16 INFO juju.worker.uniter resolver.go:76 reboot detected; triggering implicit start hook to notify charm
2024-12-10T11:43:17.034Z [container-agent] 2024-12-10 11:43:17 INFO juju-log Running legacy hooks/start.
2024-12-10T11:43:17.654Z [pebble] Check "readiness" failure 1 (threshold 3): received non-20x status code 418
2024-12-10T11:43:17.810Z [container-agent] 2024-12-10 11:43:17 INFO juju.worker.uniter.operation runhook.go:186 ran "start" hook (via hook dispatching script: dispatch)
2024-12-10T11:48:23.176Z [container-agent] 2024-12-10 11:48:23 ERROR juju-log charm config validation failed: plugin configuration secret was not provided
2024-12-10T11:48:23.509Z [container-agent] 2024-12-10 11:48:23 INFO juju.worker.uniter.operation runhook.go:186 ran "update-status" hook (via hook dispatching script: dispatch)
2024-12-10T11:54:21.143Z [container-agent] 2024-12-10 11:54:21 ERROR juju-log charm config validation failed: plugin configuration secret was not provided
2024-12-10T11:54:21.502Z [container-agent] 2024-12-10 11:54:21 INFO juju.worker.uniter.operation runhook.go:186 ran "update-status" hook (via hook dispatching script: dispatch)
2024-12-10T11:59:38.656Z [container-agent] 2024-12-10 11:59:38 ERROR juju-log charm config validation failed: plugin configuration secret was not provided
2024-12-10T11:59:38.994Z [container-agent] 2024-12-10 11:59:38 INFO juju.worker.uniter.operation runhook.go:186 ran "update-status" hook (via hook dispatching script: dispatch)
2024-12-10T12:04:37.580Z [container-agent] 2024-12-10 12:04:37 ERROR juju-log charm config validation failed: plugin configuration secret was not provided
2024-12-10T12:04:37.923Z [container-agent] 2024-12-10 12:04:37 INFO juju.worker.uniter.operation runhook.go:186 ran "update-status" hook (via hook dispatching script: dispatch)
2024-12-10T12:10:06.140Z [container-agent] 2024-12-10 12:10:06 ERROR juju-log charm config validation failed: plugin configuration secret was not provided
2024-12-10T12:10:06.470Z [container-agent] 2024-12-10 12:10:06 INFO juju.worker.uniter.operation runhook.go:186 ran "update-status" hook (via hook dispatching script: dispatch)
2024-12-10T12:15:57.120Z [container-agent] 2024-12-10 12:15:57 ERROR juju-log charm config validation failed: plugin configuration secret was not provided
2024-12-10T12:15:57.522Z [container-agent] 2024-12-10 12:15:57 INFO juju.worker.uniter.operation runhook.go:186 ran "update-status" hook (via hook dispatching script: dispatch)
2024-12-10T12:21:55.549Z [container-agent] 2024-12-10 12:21:55 ERROR juju-log charm config validation failed: plugin configuration secret was not provided
2024-12-10T12:21:55.922Z [container-agent] 2024-12-10 12:21:55 INFO juju.worker.uniter.operation runhook.go:186 ran "update-status" hook (via hook dispatching script: dispatch)
2024-12-10T12:26:58.687Z [container-agent] 2024-12-10 12:26:58 ERROR juju-log charm config validation failed: plugin configuration secret was not provided
2024-12-10T12:26:59.016Z [container-agent] 2024-12-10 12:26:59 INFO juju.worker.uniter.operation runhook.go:186 ran "update-status" hook (via hook dispatching script: dispatch)
2024-12-10T12:32:33.876Z [container-agent] 2024-12-10 12:32:33 ERROR juju-log charm config validation failed: plugin configuration secret was not provided
2024-12-10T12:32:34.210Z [container-agent] 2024-12-10 12:32:34 INFO juju.worker.uniter.operation runhook.go:186 ran "update-status" hook (via hook dispatching script: dispatch)
2024-12-10T12:38:32.186Z [container-agent] 2024-12-10 12:38:32 ERROR juju-log charm config validation failed: plugin configuration secret was not provided
2024-12-10T12:38:32.581Z [container-agent] 2024-12-10 12:38:32 INFO juju.worker.uniter.operation runhook.go:186 ran "update-status" hook (via hook dispatching script: dispatch)
2024-12-10T12:44:16.473Z [container-agent] 2024-12-10 12:44:16 ERROR juju-log charm config validation failed: plugin configuration secret was not provided
2024-12-10T12:44:16.809Z [container-agent] 2024-12-10 12:44:16 INFO juju.worker.uniter.operation runhook.go:186 ran "update-status" hook (via hook dispatching script: dispatch)
2024-12-10T12:49:39.866Z [container-agent] 2024-12-10 12:49:39 ERROR juju-log charm config validation failed: plugin configuration secret was not provided
2024-12-10T12:49:40.225Z [container-agent] 2024-12-10 12:49:40 INFO juju.worker.uniter.operation runhook.go:186 ran "update-status" hook (via hook dispatching script: dispatch)
2024-12-10T12:54:50.007Z [container-agent] 2024-12-10 12:54:50 ERROR juju-log charm config validation failed: plugin configuration secret was not provided
2024-12-10T12:54:50.413Z [container-agent] 2024-12-10 12:54:50 INFO juju.worker.uniter.operation runhook.go:186 ran "update-status" hook (via hook dispatching script: dispatch)
2024-12-10T13:00:06.509Z [container-agent] 2024-12-10 13:00:06 ERROR juju-log charm config validation failed: plugin configuration secret was not provided
2024-12-10T13:00:06.847Z [container-agent] 2024-12-10 13:00:06 INFO juju.worker.uniter.operation runhook.go:186 ran "update-status" hook (via hook dispatching script: dispatch)
2024-12-10T13:04:13.372Z [container-agent] 2024-12-10 13:04:13 ERROR juju-log charm config validation failed: plugin configuration secret was not provided
2024-12-10T13:04:13.711Z [container-agent] 2024-12-10 13:04:13 INFO juju.worker.uniter.operation runhook.go:186 ran "update-status" hook (via hook dispatching script: dispatch)
2024-12-10T13:08:36.099Z [container-agent] 2024-12-10 13:08:36 ERROR juju-log charm config validation failed: plugin configuration secret was not provided
2024-12-10T13:08:36.427Z [container-agent] 2024-12-10 13:08:36 INFO juju.worker.uniter.operation runhook.go:186 ran "update-status" hook (via hook dispatching script: dispatch)
2024-12-10T13:13:10.138Z [container-agent] 2024-12-10 13:13:10 ERROR juju-log charm config validation failed: plugin configuration secret was not provided
2024-12-10T13:13:10.477Z [container-agent] 2024-12-10 13:13:10 INFO juju.worker.uniter.operation runhook.go:186 ran "update-status" hook (via hook dispatching script: dispatch)
2024-12-10T13:17:13.641Z [container-agent] 2024-12-10 13:17:13 ERROR juju-log charm config validation failed: plugin configuration secret was not provided
2024-12-10T13:17:13.989Z [container-agent] 2024-12-10 13:17:13 INFO juju.worker.uniter.operation runhook.go:186 ran "update-status" hook (via hook dispatching script: dispatch)
2024-12-10T13:21:14.515Z [container-agent] 2024-12-10 13:21:14 ERROR juju-log charm config validation failed: plugin configuration secret was not provided
2024-12-10T13:21:14.850Z [container-agent] 2024-12-10 13:21:14 INFO juju.worker.uniter.operation runhook.go:186 ran "update-status" hook (via hook dispatching script: dispatch)
2024-12-10T13:25:42.662Z [container-agent] 2024-12-10 13:25:42 ERROR juju-log charm config validation failed: plugin configuration secret was not provided
2024-12-10T13:25:43.005Z [container-agent] 2024-12-10 13:25:43 INFO juju.worker.uniter.operation runhook.go:186 ran "update-status" hook (via hook dispatching script: dispatch)
2024-12-10T13:31:00.639Z [container-agent] 2024-12-10 13:31:00 ERROR juju-log charm config validation failed: plugin configuration secret was not provided
2024-12-10T13:31:01.038Z [container-agent] 2024-12-10 13:31:01 INFO juju.worker.uniter.operation runhook.go:186 ran "update-status" hook (via hook dispatching script: dispatch)

Additional context

ubuntu@dev-k8s-leader:~$ juju config lego plugin-config-secret-id
ctc1u57mp25c77lu5tsg

Thanks. I see now that was included in one of the images but it was a little hard to parse.
This is interesting. that error message comes from a single place:
https://github.com/canonical/lego-operator/blob/5428ea9e4f39927ea482f022757f804d015164d3/src/charm.py#L86-L88
Which if we follow it, means that _plugin_config returned a falsey value.
There's only a few cases I can see:
We haven't set the config value correctly, which is what I was trying to rule out.
https://github.com/canonical/lego-operator/blob/5428ea9e4f39927ea482f022757f804d015164d3/src/charm.py#L253-L255
We don't have permission to access the secret, or it isn't there. It looks like the juju show-secret command rules that out.
https://github.com/canonical/lego-operator/blob/5428ea9e4f39927ea482f022757f804d015164d3/src/charm.py#L256-L259
Or there's no values in the secret, which again, the show-secret results seem to rule out.
https://github.com/canonical/lego-operator/blob/5428ea9e4f39927ea482f022757f804d015164d3/src/charm.py#L260
I'm going to try to reproduce something, but I'm not sure how successful I'll be. We may need to add more logging (which we likely should have anyway) to get to the bottom of this.

@shipperizer Can you try with the latest 4/edge (which has #18) and let me know what the warning log says, assuming it shows up?

Closing the loop from a conversation on Matrix:

Alessandro Cabbia: i ve just run rev24 and somehow now it s working fine
only thing i tweaked was the proxy settings

So, I'll close this.
@shipperizer Please re-open this if it happens again!


Key cannot be used for signing

Installation information

jumpscale version: core commit: 81301a84ddf956f36cfdedc0466fcac091ca6271
operating system: Ubuntu 16/04

Detailed description
After deploying 91 minio's, suddenly this error started appearing. Restarting 0-robot did not help.
Relevant stacktraces
[Sun21 09:59] - dm_vm.py          :56  :service-3003184f-9737-45aa-9332-dd5af01cd040 - INFO     - Monitor vm ca3206c9-a848-4b65-9ac6-55e26875cddc
Traceback (most recent call last):
  File "src/gevent/greenlet.py", line 716, in gevent._greenlet.Greenlet.run
  File "/opt/code/github/threefoldtech/0-templates/templates/s3/s3.py", line 137, in update_state
    vm_robot, _ = self._vm_robot_and_ip()
  File "/opt/code/github/threefoldtech/0-templates/templates/s3/s3.py", line 304, in _vm_robot_and_ip
    vminfo = vm.schedule_action('info', args={'timeout': 1200}).wait(die=True).result
  File "/opt/code/github/threefoldtech/0-robot/zerorobot/task/task.py", line 131, in wait
    raise RuntimeError(self.eco.message)
RuntimeError: key cannot be used for signing

@rkhamis

Seems that we set the ttl of the keys loaded to 24 hours by default. Which means any robot running for over that will suddenly find itself accessing a key that no longer exists in the ssh-agent


Develop

Requesting review on this project
Project requirements:

Interactions

Home page

When the page loads, the webapp shows the list of categories that could be filtered out by some parameter, for example by the category name.
Along with the category name, you will display some numeric values per category that come from the API.
When the user clicks (or taps) on a category item, the application navigates to the details page.

Details page

In the details page, the webapp retrieves data from the API to show detailed data in the category.
When the user clicks on the "Back" button (<), the user navigates to the home page.

Technical requirements

The project is a single-page application (SPA) built with React and Redux.

The data retrieved from the API should be stored in the Redux store.

You should filter the data that you retrieve from the API using a Filter stateless component.

Every page (the main page and the pages for each item) should have a unique route within the SPA.

The project should be deployed and accessible online (add a link to the online version of your app to your README file).

Thank you @elyor-doniyorov


Do not use KeyValue fields directly and use KeyValues as decorator only

Addresses first two issues in https://github.com/jaegertracing/jaeger/issues/773#issuecomment-386932926

Do not use KeyValue fields like VNum directly
Use KeyValues as decorator only

Coverage remained the same at 100.0% when pulling f1604a6966f30b33f67f1c99829b3ec2b663d546 on do-not-use-keyvalue-fields-directly into 4106c29b157aacf13bfc64addd6bd365f9d4e419 on master.


FN ice phishing

The scam detector did not flagged 0xce825d67599c76ad3e329abec33ac49d46b7bad3 which was the spender in the following scam: https://etherscan.io/tx/0x2e6a73ded77f54759cdfee2e6fbdac417edc0847f4a7724313957e15604551e5
Also the same victim approved 0xd39da45c7b642d1eae177aa7fbb4b6d60b12ce84 which is called by contract 0xed0e416e0feea5b484ba5c95d375545ac2b60572 - https://etherscan.io/tx/0xc7560f252b7371a1994c75365439a47540f4f74b552eb96e5af092ec21c1ed13
Then victim lost their assets here https://etherscan.io/tx/0x45cc7b9ff7220fbb2b92a1fe6b9a688ae69239392517f2edbab5096aa5c8d005
The scam detector did not alerts these.

Thanks for raising this @Ivan1905. I have now updated the Multicall alert to include the CREATE2-generated addresses.
Will also update the Ice Phishing with a new alert ID to catch the approvals/permissions

Example alert https://explorer.forta.network/alert/0x1ebbf6bb70ad92f76c50b35f979216d872ac04633e0cfee94ffc53e0faca99d3 catching the created (approved) contract 0x650939fcf5cf1b731cdd0def74991a35df47b175
(Contract creation https://explorer.phalcon.xyz/tx/eth/0xd0a2456fa82bab9b4249627613f5648c730e53255323660c9546dd82f49e9147?line=4&debugLine=4)


feat: add auto-merge-after-CI label

Immediately after the awaiting-CI label is removed, check if the PR is labelled auto-merge-after-CI, and if so have the mathlib4 bot issue a bors merge.
Note that for now bors is not actually listening to the mathlib4 bot, so we will have to enable that once this has been tested.
The main use case here is generating automatic bump PRs so that we can keep up with Lean 4 nightly with less busy work.

Nice, okay now to try again without the label, to see what happens.

Looks good, try again with the label.

bors d+

bors merge


namespacePrefix does not work with sourceRoot

The documentation is not correct about the usage or the sourceRoot property. It show the property as relative to the babel configuration file:
https://github.com/r-murphy/babel-plugin-transform-modules-ui5/blob/f4554f7a304879961a1f9cd097c5f5acf3bfe712/README.md#L360-L368
The problem is that the filename is absolute in this function so filename.startsWith(sourceRoot) is always false
https://github.com/r-murphy/babel-plugin-transform-modules-ui5/blob/f4554f7a304879961a1f9cd097c5f5acf3bfe712/packages/plugin/src/classes/helpers/classes.js#L271-L286
Also, if we set the sourceRoot property to path.join(__dirname, 'src') the dir variable equals to [""] for files at the root. In the end, the namespace has an extra dot.

I have a problem related to this. I am not using namespacePrefix but only sourceRoot, hoping to get file-based namespaces. But for the same reason given above, that does not work and I must set all namespaces manually.

Should be fixed with #55

PR merged and published in 7.0.5. Thanks @whitenrock


Bakery support?

This looks to be an amazing solution to a need I have for swapping between a few lighting scenarios in Unity, but as I use Bakery and not the built in lightmapper is there an easy way to integrate with Bakery.
I think I might be able to get away with baking multiple times with Bakery and then remove all but lights in the "lighting" levels but it would be great if this package could more easily support baking with Bakery.
Is this possible at the moment or in the works?

Hello,
I know Bakery is very popular but I don't own it myself so I'm not too sure what it would take to support it.
For example I know it has more lightmap modes like sh lightmap that sounds very cool, but that's probably implemented in a custom way that would need totally different code.
I don't plan to support it myself, but if someone wants to work on it and make a pull request I'll definitely look at it and try to integrate it.


WMS 11287: Request to publish "Simplify User Management by Integrating Oracle Autonomous Database and Oracle Cloud Identity" LiveLab

WMS 11287
General requirements

Information in the workshop is adequate and updated
Code is correct and working
Links are correct
Make sure you enter the help email link in your manifest.json
Please make sure WMS URLs are updated as needed after your PR is approved

Checklist - Refer to the QA document for the complete list
Please confirm that the following is completed before submitting your PR

[ ] All filenames are lower case (including folders, images, files, etc.)
[ ] Filenames are descriptive
[ ] Your workshop folder structure should be similar to the one used in the sample workshop (https://github.com/oracle-livelabs/common/tree/main/sample-livelabs-templates/sample-workshop)
[ ] Are you using multiple versions (desktop/, sandbox/, tenancy/)? Make sure that each of them contains a manifest.json and an index.html
[ ] Image references in markdown contain an alternate text

The file and folder names have been updated to fit the standard.


Eliminate Linked<> types

Maybe we'll want something like this again later, but they don't match the juniper use pattern at all, and are just extra complexity that'll make it more difficult to fix the data later.

Would it be easier to build the second model in parallel? There's a lot of code to refactor.

https://github.com/jeremyBanks/speedruns/commits/archive/db-design
https://github.com/jeremyBanks/speedruns/commits/db-design-impl


ChoicePrompt does not send choices if PromptOptions are passed in to waterfallStepContext.Prompt()

Versions
What package version of the SDK are you using. - 4.3.4
What nodejs version are you using - v10.14.1
What os are you using - Windows
Sample - node 10.prompt-validations
Describe the bug
ChoicePrompt does not send choices if PromptOptions are passed in.

Working - ChoicePrompt, without passing PromptOptions

Instead of passing PromptOptions, a string is passed as 2nd argument to prompt()

Not Working - ChoicePrompt with PromptOptions

Above it finishes the waterfall dialog doesn't move onto our "promptForChoicy" ChoicePrompt (no prompt given, since it wasn't passed into PromptOptions, nor are the choices displaced, even though they were passed in as 3rd argument in step.prompt())
But the retry prompt does show up, as the options are successfully consumed:

Even if you go the route of specifying PromptOptions.prompt, to pass to waterfallStepContext.prompt(), it will consume the prompt, but again no choices from the choice prompt are displayed
Expected behavior
For ChoicePrompts to display choices, even when PromptOptions are passed to waterfallStepContext.prompt() to consume
[bug]

ahhh ok, figured it out
DialogContext.prompt() has a couple overloads that take 3 parameters

2nd parameter is options and 3rd parameter is choices.
PromptOptions actually has a choices property too, and .prompt() assigns the choices that are set in PromptOptions, ignoring the 3rd arg choices passed into DialogContext.prompt()
so if I only set PromptOptions.retryPrompt, for example, and therefore leave PromptOptions.choices undefined, then choices is set to empty array in .prompt() method

working on fix

Any update on the fix?

@cleemullins ah, I distracted myself with the declarative hackathon, and didn't push the PR. I needed to write a test and wanted to fire up a bot using new code to double check
Realizing April 15th is NOW--I'll do better next time with being aware of the date
PR with tests is in and ready to go now, pending review


Adding OpenMC SS model with W and C layers

Adding model with energy & mesh filters applied to neutron tallies

This looks OK to me for our current purposes.  There are many questions about code structure, but we can revisit those at another time.


Watch doesn't work

Hi, first, thanks for maintaining this plugin!
I'm on 3.0.2 and Node 7, and I have a problem with the watch feature.
This is my karma configuration:
autoWatch: true,
preprocessors: {
    [`${root}/src/**/*.js`]: ['rollup'],
    [`${root}/tests/**/*.js`]: ['rollup'],
},
rollupPreprocessor: {
    moduleName: 'test',
    exports: 'named',
    format: 'umd',
    sourceMap: 'inline',
    plugins: [babel({
        presets: [
            ['es2015', { modules: false }],
            'stage-2',
        ],
    })],
},
files: [
    { pattern:`${root}/src/**/*.js`, included: false, watched: true },
    `${root}/tests/styles/*.css`,
    `${root}/tests/functional/*.js`,
    `${root}/tests/unit/*.js`,
],

Describing how my tests work, the test files import the source files of my library and rollup takes care to compile everything.
The problem is that if I change a file in my tests, the watch task works, if instead I change a file of the source of my library, the bundle isn't updated.
Am I doing something wrong? Sometimes it works, sometimes not... randomly.

Or better, sometimes it works, sometimes not.. Randomly.

Or better, sometimes it works, sometimes not.. Randomly.

What version of the library are you using?

What version of the library are you using?
Sounds very similar to #3, which was solved in v3.0.0.
I'm actually working on a better solution, since relying on Karma's watch seems to be a limitation; it seems karma-webpack uses its own watch for similar reasons.

I'm on 3.0.2 and Node 7

Issue #3 dealt with a very similar problem, and had a decent solution for v3.0.0...
Which files are not triggering a new bundle?
If you can put together a simple repository demonstrating the problem, I will be able much better equipped to release a fix.

Seems to happen randomly on the same exact files. I'm experiencing it in https://github.com/FezVrasta/popper.js/tree/v1-dev
This is the config:
https://github.com/FezVrasta/popper.js/blob/v1-dev/scripts/karma.conf.js#L52-L73

Your popper package is not really a simple/isolated example of the problem.
Does the problem occur with any of the files in your files array, or with specific ones?
Have you looked at the DEBUG_INFO output?

It occur with one of the files in the files array (actually, lot of them, all?).
I have not looked at the debug info, I'll take a look when I have a minute.

I'm dropping support for Node 0.12 and releasing<EMAIL_ADDRESS>soon. Since relying on Karma's watcher seems limiting, I'm also working on handling watch internally (and simply notifying karma when files have changed).
If you have in fact uncovered a bug here, I want to make sure that the new solution solves it. Would you be willing to help me test the new release @FezVrasta?

sure

Alright well it'll take a bit though, I'm working on a few open source projects. I think we should still see what we can figure out using 3.0.2, and when 4.0.0 is ready you can drop that into your project to help test.

no problem, it's just a bit annoying, nothing critical

I too have troubles with Karma and rollup + Vue.js components, Karma config has
files: [
        'browser/src/tests/global.spec.js',
        {pattern: 'browser/src/components/*.vue', served: false, included: false}
    ],
preprocessors: {
        'browser/src/tests/global.spec.js': ['rollup']
    },

In global.spec.js I have:
import Vue from 'vue'

import helloTemplate from 'components/hello.vue'
import vueTemplate from 'components/test.vue'

describe('Vue components', function() {

    it('has a dummy Vue.js test', () => {

        const vm = new Vue({
            el: document.createElement('div'),
            render: (createElement) => createElement(helloTemplate)
        });

        expect(vm.$el.querySelector('h1').textContent).toBe('Welcome to Vue.js App')
    });

    it('has second Vue.js test', () => {

        const vm = new Vue({
            el: document.createElement('div'),
            render: (createElement) => createElement(vueTemplate)
        });

        expect(vm.$el.querySelector('h1').textContent).toBe('hello')
    });
});

So, in compiled global.spec.js I have all bundled Vue.js library + vue components and tests specs, but when I change one of vue component - rollup does not recompile all dependencies such as .vue single file components imported in global.spec.js. Tests can failed or success done only if I write changes in main global.spec.js, not in components.
So, we have to know how to rebuild rollup cache on file changes.
In my Karma v1.3.0 server logs on dep. changes:
10 01 2017 19:34:34.179:INFO [watcher]: Changed file "/Users/menangen/WebStormProjects/game-vue-nodejs-site/browser/src/components/test.vue".
10 01 2017 19:34:45.269:INFO [watcher]: Changed file "/Users/menangen/WebStormProjects/game-vue-nodejs-site/browser/src/components/test.vue".
10 01 2017 19:34:56.501:INFO [watcher]: Changed file "/Users/menangen/WebStormProjects/game-vue-nodejs-site/browser/src/components/test.vue".
10 01 2017 19:35:12.729:INFO [watcher]: Changed file "/Users/menangen/WebStormProjects/game-vue-nodejs-site/browser/src/tests/global.spec.js".

On every this watcher's event I would start recompile global.spec.js.

Hey @menangen, this is the same issue described in detail here.
The problem is that you are only passing global.spec.js to the rollup preprocessor, which means your other files (that you want to trigger a rebuild) aren't going through the preprocessor... and thus don't trigger anything.
I assume you'll need some type of rollup-plugin-vue added to the rollup plugins configuration, but you'll want to add the source files you want to trigger rebuilds to your preprocessor. Something like this:
files: [
	'browser/src/tests/global.spec.js',
	{pattern: 'browser/src/components/*.vue', served: false, included: false}
],
preprocessors: {
	'browser/src/tests/global.spec.js': ['rollup'],
	'browser/src/components/*.vue': ['rollup']
},

Karma Rollup Preprocessor will be able to track dependents and dependencies for both your test and the source files. This is exactly what version 3 made possible.

@jlmakes yes, it work but karma runs tests twice. First for changed .vue component and second for .spec.js main test file. If I change test file - it recompile .spec.js fast and once, if change only .vue component to broken code - karma runs 1st iteration with log about changes in .vue file and test show succes(!) pass, and on second iteration log write about changes in main .spec.js file - and now test fails. Very strange...

"yes, it work but karma runs tests twice."

This is the exact problem I'm looking to solve with version 4. There's no way to programmatically add files to the preprocessor, so instead it has to trick Karma into rebundling them by changing their time modified.
As you've pointed out @menangen, this means the tests re-run for each file that depends on the changed file. There also seems to be some issues where tests can fail because files were changed mid-test...
All this is to say that the Karma watcher needs to be disabled, and the preprocessor needs to own the watch process (just like Webpack does).

@jlmakes ok, I dislike Webpack and will be better use browserify like rebuild as you can test  from https://github.com/vuejs-templates/browserify
Also if you on Mac, you can use my testing repo with karma-rollup-preprocessor and Vue building:
diskutil erasevolume HFS+ 'RAM Disk' `hdiutil attach -nomount ram://1000000` && cd /Volumes/RAM\ Disk/ && git clone --depth 1 https://github.com/menangen/game-vue-nodejs-site.git --branch tests --single-branch && cd game-vue-nodejs-site && npm install && node_modules/.bin/karma start

This shell command create RAM disk and clones my repo for playing with rollup + Karma. Also in karma.conf.js need change autoWatch: false to autoWatch: true, than working normal only when change .vue component, test runs nice, but on changing .spec.js test file - no restart Karma tests...

Are there any progress on this issue? Thank you!

Hey @FezVrasta, thanks for the reminder there’s still work to be done here!
The documentation is all about how to use Karma, but developing plugins requires reverse engineering existing plugins. So, I’ve been looking deeper into the Node API and wrapping my head around how the Webpack plugin handles their custom file watcher...
This will be addressed, just bear with me a bit longer.

Sorry again, Any progress on this issue?

Not yet @elasim—I have not forgotten about this project—I use it every day and intend on improving it, I’ve just been busy the past 8 months working on another project.
What karma-rollup-preprocessor needs is a re-write using it’s own file watcher, so we can more closely control when files are re-processed (similar to how karma-webpack works).

Re: @FezVrasta @menangen @elasim
I have greatly improved the file watcher in the latest major release (v5)!
Please take a careful look at:

The changes made in<EMAIL_ADDRESS>The changes made in<EMAIL_ADDRESS>
The short version is this:

The preprocessor no longer installs rollup for you (you manage what version you have installed)
The preprocessor no longer works with Rollup v0.47 and below.
You will need to update both your Karma and Rollup configurations.

@jlmakes Thanks for your awesome work!


Old vue-tsc repo contains broken redirect

The old and archived repo https://github.com/johnsoncodehk/vue-tsc has a broken redirect link pointing to https://github.com/johnsoncodehk/volar/tree/master/packages/vue-tsc
The link should point instead to https://github.com/johnsoncodehk/volar/tree/master/vue-language-tools/vue-tsc
Normally I wouldn't mind but since a google search for vue-tsc lists the old repo already on the second position I followed this broken link manually now multiple times:

Since the old repo is archived I wasn't able to create a pull request there :)

https://github.com/johnsoncodehk/volar/issues/2319

Oops, thanks. Closing this in favour of #2319.


Prevent overflow in std timer driver

This prevents the std time driver from overflowing when setting the next
wakeup time. If an overflow occurs, default to sleeping up to 1 second.
Fixes #438

@Dirbaio I can't find a convenient way to subtract the 'zero' time as the internal representation is hidden. Instead, this PR defaults to a 1 second wait if no alarms was set or if it would overflow.
I guess we could look into rewriting the timer logic, but I'm not sure we care enough about std for that?

@Dirbaio I see this on apple m1, mac os x. Tracked it down to the time refactoring that happened in late August.


Add GHA build workflow and IntelliJ 2023.1 compatibility

Make plugin compatible with the latest version of IntelliJ.
Add GHA build workflow to be able to check the test job results.
Changes

bump gradle to 8.0.2
bump jetbrains.intellij gradle plugin to 1.13.3
set plugin untilBuild version to 231.* to be compatible with the latest IntelliJ version
introduce GHA build workflow

lgtm!


Spotify Notifications not working

I've installed the latest version of Spotify and Spotify Notifications and the notifications just won't work. Every time I try to see the current song playing, it just says "No song is playing". Solutions?

+1

I've managed to get the source working with Mojave and 10.14 SDK. Need to create a pull request and get a proper release sorted out.

Would be appreciated, @NorfolkNChance.
Norfolk and good myself.

I'd appreciate it too @NorfolkNChance thanks!


python312Packages.mypy-boto3-*: updates

Things done

Built on platform(s)

[ ] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
25.05 Release Notes (or backporting 24.11 and 25.05 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[ ] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

nixpkgs-review result
Generated using nixpkgs-review.
Command: nixpkgs-review pr 361771

x86_64-linux

:fast_forward: 4 packages marked as broken and skipped:

python311Packages.dependency-injector
python311Packages.dependency-injector.dist
python312Packages.dependency-injector
python312Packages.dependency-injector.dist

:white_check_mark: 38 packages built:

aws-sam-cli
aws-sam-cli.dist
python311Packages.mypy-boto3-athena
python311Packages.mypy-boto3-athena.dist
python311Packages.mypy-boto3-cloudwatch
python311Packages.mypy-boto3-cloudwatch.dist
python311Packages.mypy-boto3-dynamodb
python311Packages.mypy-boto3-dynamodb.dist
python311Packages.mypy-boto3-glue
python311Packages.mypy-boto3-glue.dist
python311Packages.mypy-boto3-lakeformation
python311Packages.mypy-boto3-lakeformation.dist
python311Packages.mypy-boto3-quicksight
python311Packages.mypy-boto3-quicksight.dist
python311Packages.mypy-boto3-redshift
python311Packages.mypy-boto3-redshift-serverless
python311Packages.mypy-boto3-redshift-serverless.dist
python311Packages.mypy-boto3-redshift.dist
python311Packages.mypy-boto3-s3
python311Packages.mypy-boto3-s3.dist
python312Packages.mypy-boto3-athena
python312Packages.mypy-boto3-athena.dist
python312Packages.mypy-boto3-cloudwatch
python312Packages.mypy-boto3-cloudwatch.dist
python312Packages.mypy-boto3-dynamodb
python312Packages.mypy-boto3-dynamodb.dist
python312Packages.mypy-boto3-glue
python312Packages.mypy-boto3-glue.dist
python312Packages.mypy-boto3-lakeformation
python312Packages.mypy-boto3-lakeformation.dist
python312Packages.mypy-boto3-quicksight
python312Packages.mypy-boto3-quicksight.dist
python312Packages.mypy-boto3-redshift
python312Packages.mypy-boto3-redshift-serverless
python312Packages.mypy-boto3-redshift-serverless.dist
python312Packages.mypy-boto3-redshift.dist
python312Packages.mypy-boto3-s3
python312Packages.mypy-boto3-s3.dist


Feature request: octave jump when pressing + rotating the encoder

The actual method to jump between octaves when editing notes is with the combo 'shift button + step button + rotate encoder'. It'd be nice if the same could be achieved as well with 'step button + encoder button + rotate encoder'. That way wouldn't be necessary to use one extra finger for the shift button. It'd be handier/faster at least for me!
<3 per|former

The encoder press is used to toggle gates even if in note layer. That is a really important feature for me as I can enter notes and gates on an empty sequence both at the same time.

Ooooh true, true, now I remember it from the manual but I forgot! Also didn't notice on the screen that the step square got filled when the encoder was pressed. Still used to other sequencers with that workflow. I should set gates only from note page from now on as punishment :)


Incorrect Zod schema import path

Bug description
My generated schemas have subfolders for enums and objects, but the generated routers seem to expect the schemas to be in that root folder instead of in the subfolders.
Generated Router:
import { t, publicProcedure } from "./helpers/createRouter";
import { LocationCreateManySchema } from "../schemas/createManyLocation.schema";
import { LocationCreateOneSchema } from "../schemas/createOneLocation.schema";
import { LocationDeleteManySchema } from "../schemas/deleteManyLocation.schema";
import { LocationDeleteOneSchema } from "../schemas/deleteOneLocation.schema";
import { LocationFindFirstSchema } from "../schemas/findFirstLocation.schema";
import { LocationFindManySchema } from "../schemas/findManyLocation.schema";
import { LocationFindUniqueSchema } from "../schemas/findUniqueLocation.schema";
import { LocationUpdateManySchema } from "../schemas/updateManyLocation.schema";
import { LocationUpdateOneSchema } from "../schemas/updateOneLocation.schema";
import { LocationUpsertSchema } from "../schemas/upsertOneLocation.schema";

export const locationsRouter = t.router({
  createManyLocation: publicProcedure
    .input(LocationCreateManySchema).mutation
// Rest of file...

File Structure:

How to reproduce
npm i prisma-trpc-generator
Add generator to Prisma schema:
generator trpc {
  provider             = "prisma-trpc-generator"
  withZod              = true
  withMiddleware       = false
  withShield           = false
  contextPath          = "@endwise/server/trpc"
  trpcOptionsPath      = "@endwise/server/trpc"
}

npx prisma generate
Expected behavior
Import paths are correct. For example, import { LocationCreateManySchema } from "../schemas/createManyLocation.schema"; should instead be import { LocationCreateManySchema } from "../schemas/objects/createManyLocation.schema";
Prisma information

Schema:
// This is your Prisma schema file,
// learn more about it in the docs: https://pris.ly/d/prisma-schema

generator zod {
  provider         = "zod-prisma-types"
  createModelTypes = false
}

generator trpc {
  provider             = "prisma-trpc-generator"
  withZod              = true
  withMiddleware       = false
  withShield           = false
  contextPath          = "@endwise/server/trpc"
  trpcOptionsPath      = "@endwise/server/trpc"
}

generator client {
  provider = "prisma-client-js"
  output   = "./generated/prisma"
}

datasource db {
  provider = "mongodb"
  url      = env("DATABASE_URL")
}

model CacheEntry {
  key   String @id @map("_id")
  value String
}

model User {
  // App-Agnostic
  id         String  @id @default(auto()) @map("_id") @db.ObjectId
  email      String  @unique
  customerId String?

  // App-Specific
  tasks         Task[]
  epics         Epic[]
  projects      Project[]
  schedules     Schedule[]
  locations     Location[]
  taskTemplates TaskTemplate[]
}

model Task {
  id          String            @id @default(auto()) @map("_id") @db.ObjectId
  title       String
  description String? // Rich-Text
  recurrence  RecurrenceOptions @default(NONE) // TODO: Needs fleshed out a bit; aim for Google Calendar level of customizability
  locations   Location[]
  // TODO: Location blacklist
  size        TaskSize          @default(MEDIUM) // Defaults to Medium, but will likely be set by GPT or the user.
  start       DateTime?
  end         DateTime?
  createdAt   DateTime          @default(now())
  updatedAt   DateTime          @updatedAt

  // TODO: Parent Task

  // TODO: 1:N Dependencies

  // Linkage
  User           User          @relation(fields: [userEmail], references: [email])
  userEmail      String        @unique
  Epic           Epic?         @relation(fields: [epicId], references: [id])
  epicId         String?       @db.ObjectId
  Project        Project?      @relation(fields: [projectId], references: [id])
  projectId      String?       @db.ObjectId
  TaskTemplate   TaskTemplate? @relation(fields: [taskTemplateId], references: [id])
  taskTemplateId String?       @db.ObjectId
}

model Epic {
  id String @id @default(auto()) @map("_id") @db.ObjectId

  // Linkage
  User      User?    @relation(fields: [userEmail], references: [id])
  userEmail String?  @db.ObjectId
  tasks     Task[]
  Project   Project? @relation(fields: [projectId], references: [id])
  projectId String?  @db.ObjectId
}

model Project {
  id String @id @default(auto()) @map("_id") @db.ObjectId

  // Linkage
  User      User?   @relation(fields: [userEmail], references: [id])
  userEmail String? @db.ObjectId
  epics     Epic[]
  tasks     Task[]
}

model Location {
  id          String @id @default(auto()) @map("_id") @db.ObjectId
  nickname    String
  latitude    Float
  longitude   Float
  radiusMiles Int // Radius in which user is considered to be at this location

  // Linkage
  User      User?   @relation(fields: [userEmail], references: [id])
  userEmail String? @db.ObjectId
  Task      Task?   @relation(fields: [taskId], references: [id])
  taskId    String? @db.ObjectId
}

model TaskTemplate {
  id    String @id @default(auto()) @map("_id") @db.ObjectId
  tasks Task[]

  // Linkage
  User      User?   @relation(fields: [userEmail], references: [email])
  userEmail String? @unique
}

model Schedule {
  id        String     @id @default(auto()) @map("_id") @db.ObjectId
  timeslots Timeslot[]

  // Linkage
  User      User?   @relation(fields: [userEmail], references: [email])
  userEmail String? @unique
}

model Timeslot {
  id           String @id @default(auto()) @map("_id") @db.ObjectId
  startSeconds Int // # of Seconds Into Week
  endSeconds   Int // # of Seconds Into Week

  // Linkage
  Schedule   Schedule @relation(fields: [scheduleId], references: [id])
  scheduleId String   @db.ObjectId
}

/// JIRA-esque Task Statuses
enum TaskSize {
  SMALL
  MEDIUM
  LARGE
  EXTRA_LARGE
}

enum DayOfTheWeek {
  MONDAY
  TUESDAY
  WEDNESDAY
  THURSDAY
  FRIDAY
  SATURDAY
  SUNDAY
}

enum RecurrenceOptions {
  NONE
  DAILY
  WEEKLY
  MONTHLY
}

Environment & setup

OS: Windows
Database: MongoDB (shouldn't matter)
Node.js Version: v18.14.2

Prisma Version
Environment variables loaded from .env
prisma                  : 4.11.0
@prisma/client          : 4.11.0
Current platform        : windows
Query Engine (Node-API) : libquery-engine 8fde8fef4033376662cad983758335009d522acb (at<EMAIL_ADDRESS>Migration Engine        : migration-engine-cli 8fde8fef4033376662cad983758335009d522acb (at<EMAIL_ADDRESS>Format Wasm             : @prisma/prisma-fmt-wasm 4.11.0-57.8fde8fef4033376662cad983758335009d522acb
Default Engines Hash    : 8fde8fef4033376662cad983758335009d522acb
Studio                  : 0.483.0

I think the issue is a little bit different than the description. Am I right with the following being the actual problem?
// wrong
import { LocationAggregateRawObjectSchema } from "../schemas/aggregateRawLocation.schema";

// correct
import { LocationAggregateRawObjectSchema } from "../schemas/objects/LocationAggregateRaw.schema";

// same problem for `LocationFindRawObjectSchema`

I think the issue is a little bit different than the description. Am I right with the following being the actual problem?

// wrong

import { LocationAggregateRawObjectSchema } from "../schemas/aggregateRawLocation.schema";

// correct

import { LocationAggregateRawObjectSchema } from "../schemas/objects/LocationAggregateRaw.schema";

// same problem for `LocationFindRawObjectSchema`

Yes, that's correct. Paths generated expect the schemas to be directly inside the schemas folder rather than schemas/objects.

The problem I'm facing is that, because zod-prisma doesn't work for Prisma 5,  prisma-zod-generator to work for Prisma 5, so I am using zod-prisma-types which does work for Prisma 5 and has the directory structure as follows:

I'm having the same problem; my schemas directory is empty (aside from an enums directory which is also empty) yet all the generated routers are pointing to .schema files within the schemas directory. Could this be related to issue #84 with Prisma 5?