test: adds blackbox testing

Description
This PR is an initial take on adding blackbox testing to the repository.

Adds 1 workflow file where all languages are added as a job (.github/workflows/blackbox-testing.yml)
Since we have no CLI directly (#172), we will have to write the output to files on our own, hence why there is 3 renderer.js files. These will be removed once we solve that issue which will make it more maintainable.
Since we are to re-create the output without the CI I have added the generation of the output as scripts to the package. ci:blackbox:<language>:test to test the output, ci:blackbox:<language>:generate to generate the output and ci:blackbox:<language> to execute both scripts. This will require additional tools installed on the developer's machine to run, such as JDK, etc once we get more outputs.

See this to inspect the output: https://github.com/jonaslagoni/generator-model-sdk/actions/runs/812886851
Questions before moving forward:

What file should we test with? In this case I simply added our JSON Schema representation for AsyncAPI 2.0.0 which is a somewhat extreme case which we want to support in the end, but currently fails 👀 (https://github.com/asyncapi/generator-model-sdk/issues/176)

For now we use the schema payload of https://github.com/asyncapi/generator/blob/master/test/docs/dummy.yml because of #199

Do you think this setup is maintainable long-term?
Should this workflow run on every PR?

Yes, for now.

Related issue(s)
Fixes #101

cc @magicmatatjahu @derberg @smoya

Thanks for the review @derberg!

Maybe long term we should run it against a selection of schemas stored on schemastore https://www.schemastore.org/json/?

Could be awesome yea 👍

LGTM. I'm just curious why you run it in such custom way, with custom triggers and not as jest tests as I do in case of similar tests for generator? In the end you are not really assessing if the file was created.

While I don't check whether the output is as expected I do test that it can be compiled/interpreted/transpiled depending on the language. For Java I compile the output file as my way of checking if it was rendered properly. For TS I first transpile the output file for then to run it with node. For JS I just run the output file with node.

LGTM. I'm just curious why you run it in such custom way, with custom triggers and not as jest tests as I do in case of similar tests for generator? In the end you are not really assessing if the file was created.
last but not least, why you do not think it is necessary to check if the content of the file is correct? what other tests cover this?

The reason why I did not want to compare output is for the very reason of extending it later to something like schemastore. It would be a nightmare trying to keep the expected output synchronized... We already have tests for the generator to ensure output is as expected for smaller schemas. That together with the unit tests should catch potential problems together with this blackbox testing.
The reason why I use the custom renderers is as stated only until a CLI can take over. Then those files will be removed completely.

@jonaslagoni

Maybe long term we should run it against a selection of schemas stored on schemastore https://www.schemastore.org/json/?

Just recently I had a discussion with JSON Schema folks about their policy for accepting validators on the list of tools. What poped up during the conversation was that they have some tests they run against validators. Don't know the details but maybe they are similar to our TCK, so using them here would make a lot of sense, I mean those test json schema files.
Side note, we should get here https://json-schema.org/implementations.html on the list too!

While I don't check whether the output is as expected I do test that it can be compiled/interpreted/transpiled depending on the language. For Java I compile the output file as my way of checking if it was rendered properly. For TS I first transpile the output file for then to run it with node. For JS I just run the output file with node.

yeah, but why not use jest as a runner here but instead have 10 custom npm scripts 😄

It would be a nightmare trying to keep the expected output synchronized

Why? :trollface:
but no, seriously, why? you can fix your test to a given version of the document. Output can easily be compared with snapshot testing. Refreshing those is also not a big deal. Are you sure it can be a problem, I mean you already tried? not a nightmare in the generator so far.

CLI can take over

is CLI right behind the corner? I think it is not something that will show up quickly. More important is to have it in AsyncAPI CLI first. Not sure it makes sense to spend time on CLI for the model generator now. I'm all yours if it comes to grow a wider community around it, separate from AsyncAPI, but first, let's see if people actually will use it in other contexts. Just a suggestion.

@derberg

Just recently I had a discussion with JSON Schema folks about their policy for accepting validators on the list of tools. What poped up during the conversation was that they have some tests they run against validators. Don't know the details but maybe they are similar to our TCK, so using them here would make a lot of sense, I mean those test json schema files.
Side note, we should get here https://json-schema.org/implementations.html on the list too!

Yep, I read it, I think you are referring to https://github.com/asyncapi/generator-model-sdk/issues/177. But yes, maybe we can extend this to the blackbox testing 🤔

Why? :trollface:
but no, seriously, why? you can fix your test to a given version of the document. Output can easily be compared with snapshot testing. Refreshing those is also not a big deal. Are you sure it can be a problem, I mean you already tried? not a nightmare in the generator so far.

Having a snapshot of more than 1 schema would IMO be a nightmare because the number of changes it would introduce in a simple PR would just clutter the changes.
I am all for having at least one file tested against some expected output. But when we are talking about supporting a wide range of files it simply becomes too much. It would have the same ripple effect as we have now with the simplifier, and it is a big problem https://github.com/asyncapi/generator-model-sdk/issues/64.

Yep, I read it, I think you are referring to #177. But yes, maybe we can extend this to the blackbox testing

you, cool, you spy 😄

Having a snapshot of more than 1 schema would IMO be a nightmare because the number of changes it would introduce in a simple PR would just clutter the changes.

not sure what your mean really 😄 changes in snapshots should be required only if you change the structure of the object that you use for testing. Link in generator you need to update snapshot tests only when you actually make modifications to the dummy.yml. In other cases, if snapshot test fail, it means you really need to look into it.
I'm not much aware about your issues with simplified or processor tests. I might just misunderstand your concerns.

@derberg

not sure what your mean really 😄 changes in snapshots should be required only if you change the structure of the object that you use for testing. Link in generator you need to update snapshot tests only when you actually make modifications to the dummy.yml. In other cases, if snapshot test fail, it means you really need to look into it.
I'm not much aware about your issues with simplified or processor tests. I might just misunderstand your concerns.

No, the structure of the object used for testing is not the only thing that will force it. The difference between this library and the generator is that in the generator you force a specific version of the template. This means that your output never really changes or should not change.
With this library, we are a template (kinda) and this means that any changes to the output, in any way, will require us to update and inspect the snapshots. Having > 1 snapshots that frequently needs to be updated would be annoying in the long run.
The files we test with will not change, but the generated output will, especially with the stage the library is in at the moment.
That's why I am suggesting we just test whether the output can be "compiled". This way it will not cause us any headache but provide a solid safetynet. Then we can extend something like https://github.com/asyncapi/generator-model-sdk/blob/master/test/blackbox/AsyncAPI.spec.ts with a snapshot.

@jonaslagoni I get your point. Just my view on the subject is that templates also need snapshot tests. I have them in the template for generator templates and would expect long term we have them everywhere really as there is simply no other and better way to do it imho. But yeah very good snapshot testing is something that is a requirement for me for 1.0.0, but when you constantly change as you are way before 1.0.0, then snapshot testing can just make you cry, like literally 😄

Coverage remained the same at 94.561% when pulling 30f508582ebcb46ecc60f9c39dfab3263a051ee6 on jonaslagoni:feature/blackbox_test into f47276c22db4c9e987a2f8e77b9ecdcee74aff54 on asyncapi:master.

Now the question becomes, do we wanna merge this before or after the bugs are fixed? 🤔 https://github.com/asyncapi/generator-model-sdk/issues/176

Alright I have added a simpler input file which for now is the schema payload of https://github.com/asyncapi/generator/blob/master/test/docs/dummy.yml because of #199 we cant use the direct AsyncAPI file.
I added some extra documentation explaining the pipeline, think this PR is ready for the final review 🙂

What file should we test with? In this case I simply added our JSON Schema representation for AsyncAPI 2.0.0 which is a somewhat extreme case which we want to support in the end, but currently fails 👀 (#176)
For now we use the schema payload of https://github.com/asyncapi/generator/blob/master/test/docs/dummy.yml because of #199

We can start with testing simple cases and then add complex parts.

Do you think this setup is maintainable long-term?

Due to additional npm scripts, no -> see my comment.

Should this workflow run on every PR?

For me, yes.

@derberg do you want to review it as well? 🤔

@jonaslagoni nah, I saw @magicmatatjahu did review
I'll just still super curious why you picked custom scripts over jest as a runner

yeah, but why not use jest as a runner here but instead have 10 custom npm scripts 😄

you never replied and I'm super curious what is the reason :D

I'll just still super curious why you picked custom scripts over jest as a runner

My reason for not going with a Jest test was because it would be "too" complex for what it currently should achieve (generate -> compile/transpile) which basically lay in that I didn't want to add my own sub-process spawn.
But if we think Jest runner is gonna be more convenient even now then I can look into changing it 🙂

@derberg @magicmatatjahu is that thumbs up as in "okay fair reasoning, let's keep it as it is now" or "Good idea to look into changing it to runners" 😆

@jonaslagoni 😆 for me 👍🏼 means it is up to you. You know the best if you want to invest some more time in Jest do it, if you really feel it is not worth it and will actually cause more problems, then don't. The fact that I think it should be in Jest instead of custom scripts does not mean this is a better solution 😄 It is just my personal feeling but I did not try it on my own and don't know it that would be better, I just do not like to grow custom scripts if not needed 😆

As derberg said, if Jest will create problems, please don't invest time for that, but if you want, go ahead. It can be also done as followup as little POC :)

@derberg @magicmatatjahu was actually not too bad in terms of implementing the process in Jest runners. I feel like this is better 👍
While excluding black box testing from the coverage it has decreased below the threshold, however, I feel like this should be the correct behavior, and coverage should only cover specific tests. Thoughts?

While excluding black box testing from the coverage it has decreased below the threshold, however, I feel like this should be the correct behavior, and coverage should only cover specific tests. Thoughts?

I tried to quickly have a look and tbh I do not know why it dropped. It happened on a run when you merged the latest master.

While excluding black box testing from the coverage it has decreased below the threshold, however, I feel like this should be the correct behavior, and coverage should only cover specific tests. Thoughts?

I tried to quickly have a look and tbh I do not know why it dropped. It happened on a run when you merged the latest master.

@derberg It dropped because I exclude the blacbox tests from coverage. The question is, should it be excluded 🧐?

I think so, it is not relevant for coverage imho

did you notice sonar complaining on code duplication https://sonarcloud.io/component_measures?id=asyncapi_generator-model-sdk&pullRequest=173&metric=new_duplicated_lines_density&view=list ?

@derberg Note that the duplications are not accidental in this case and separating them into separate functions will only create an additional difficult understandable abstraction.

I'm not questioning your code folks 😄 if duplication is intentional I bet you had a good reason. What is important though is to solve the alert. Either refactor or silent the rule with clear description. If alert is there forever, everyone gets used to and stop taking care


Update upload.go

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.

Coverage decreased (-73.3%) to 18.072% when pulling d0956f72d0e9a056ec0835859bfe89bac2895409 on lonre:patch-1 into c6838fdc33edd68aca9fed3a805f4303ca330b0c on aliyun:master.

Coverage decreased (-73.3%) to 18.072% when pulling d0956f72d0e9a056ec0835859bfe89bac2895409 on lonre:patch-1 into c6838fdc33edd68aca9fed3a805f4303ca330b0c on aliyun:master.


ci: update super linter version (v5 -> v7)

Closes #44
📑 Description
Update Super Linter from version 5(slim) to version 7(slim).
Also formatted the .github/workflows/linter.yml file.
✅ Checks

[x] My pull request adheres to the code style of this project
[x] My code requires changes to the documentation
[x] I have updated the documentation as required
[x] All the tests have passed

ℹ Additional Information

N.A.

Unfortunately it looks like additional changes are needed to make the build green

Yep, I'm creating some config files for the linters - stuff like JSCPD uses default configuration values that are causing issues.

I also realized that for how GitHub Actions are configured (triggered on push - for non-main branches - and on PR), this causes 2 actions to run at the same time when pushing to a branch for which there is a PR open.
Is this wanted?

@gmacario the checks are now passed.
I chose to remove some of the linters because I deemed them "too much" for this project - let me know if you have any feedback on this.
Also, let me know about the problem with duplicate jobs.

To solve the duplicate job issue, I propose something like:
job:
    lint:
        ...
        if: github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name != github.repository
        ...

To solve the duplicate job issue, I propose something like:

LGTM. Maybe you could file the duplicate runs as a separate bug, then create another PR 😉

I will also improve the devcontainer setup - maybe with automatic pip package installations upon launch.


RuntimeError: mat1 and mat2 shapes cannot be multiplied (24600x1 and 1025x128)

I just install all the pkgs needed and downloaded the dataset, and then I got
$ python run.py train -c myconfigs/config.json --cfg crnn.cfg
Compose(
    ProcessChannels(mode=avg)
    AdditiveNoise(prob=0.3, sig=0.001, dist_type=normal)
    RandomCropLength(prob=0.4, sig=0.25, dist_type=half)
    ToTensorAudio()
)
/home/gpu-server/anaconda3/envs/audio_cls/lib/python3.9/site-packages/torchaudio/transforms.py:917: UserWarning: torchaudio.transforms.ComplexNorm has been deprecated and will be removed from future release.Please convert the input Tensor to complex type with `torch.view_as_complex` then use `torch.abs` and `torch.angle`. Please refer to https://github.com/pytorch/audio/issues/1337 for more details about torchaudio's plan to migrate to native complex type.
  warnings.warn(
/home/gpu-server/anaconda3/envs/audio_cls/lib/python3.9/site-packages/torchparse-0.1-py3.9.egg/torchparse/utils.py:54: UserWarning: __floordiv__ is deprecated, and its behavior will change in a future version of pytorch. It currently rounds toward 0 (like the 'trunc' function NOT 'floor'). This results in incorrect rounding for negative values. To keep the current behavior, use torch.div(a, b, rounding_mode='trunc'), or for actual floor division, use torch.div(a, b, rounding_mode='floor').
  return (spatial + p2 - k)//s + 1
  0%|                                                               | 0/311 [00:00<?, ?it/s]/home/gpu-server/disk/disk1/xuxin_workspace/projects/crnn-audio-classification-master/net/audio.py:10: UserWarning: __floordiv__ is deprecated, and its behavior will change in a future version of pytorch. It currently rounds toward 0 (like the 'trunc' function NOT 'floor'). This results in incorrect rounding for negative values. To keep the current behavior, use torch.div(a, b, rounding_mode='trunc'), or for actual floor division, use torch.div(a, b, rounding_mode='floor').
  return (lengths + 2 * pad - fft_length + hop_length) // hop_length
/home/gpu-server/anaconda3/envs/audio_cls/lib/python3.9/site-packages/torchaudio/transforms.py:936: UserWarning: torchaudio.functional.functional.complex_norm has been deprecated and will be removed from 0.11 release. Please convert the input Tensor to complex type with `torch.view_as_complex` then use `torch.abs`. Please refer to https://github.com/pytorch/audio/issues/1337 for more details about torchaudio's plan to migrate to native complex type.
  return F.complex_norm(complex_tensor, self.power)
  0%|                                                               | 0/311 [00:01<?, ?it/s]
Traceback (most recent call last):
  File "/home/gpu-server/disk/disk1/xuxin_workspace/projects/crnn-audio-classification-master/run.py", line 175, in <module>
    train_main(config, args.resume)
  File "/home/gpu-server/disk/disk1/xuxin_workspace/projects/crnn-audio-classification-master/run.py", line 115, in train_main
    trainer.train()
  File "/home/gpu-server/disk/disk1/xuxin_workspace/projects/crnn-audio-classification-master/train/base_trainer.py", line 88, in train
    result = self._train_epoch(epoch)
  File "/home/gpu-server/disk/disk1/xuxin_workspace/projects/crnn-audio-classification-master/train/trainer.py", line 68, in _train_epoch
    output = self.model(data)
  File "/home/gpu-server/anaconda3/envs/audio_cls/lib/python3.9/site-packages/torch/nn/modules/module.py", line 1102, in _call_impl
    return forward_call(*input, **kwargs)
  File "/home/gpu-server/disk/disk1/xuxin_workspace/projects/crnn-audio-classification-master/net/model.py", line 52, in forward
    xt, lengths = self.spec(xt, lengths)
  File "/home/gpu-server/anaconda3/envs/audio_cls/lib/python3.9/site-packages/torch/nn/modules/module.py", line 1102, in _call_impl
    return forward_call(*input, **kwargs)
  File "/home/gpu-server/disk/disk1/xuxin_workspace/projects/crnn-audio-classification-master/net/audio.py", line 55, in forward
    x = self.mel_scale(x)
  File "/home/gpu-server/anaconda3/envs/audio_cls/lib/python3.9/site-packages/torch/nn/modules/module.py", line 1102, in _call_impl
    return forward_call(*input, **kwargs)
  File "/home/gpu-server/anaconda3/envs/audio_cls/lib/python3.9/site-packages/torchaudio/transforms.py", line 386, in forward
    mel_specgram = torch.matmul(specgram.transpose(-1, -2), self.fb).transpose(-1, -2)
RuntimeError: mat1 and mat2 shapes cannot be multiplied (24600x1 and 1025x128)

which is sad

I just install all the pkgs needed and downloaded the dataset, and then I got
$ python run.py train -c myconfigs/config.json --cfg crnn.cfg
Compose(
    ProcessChannels(mode=avg)
    AdditiveNoise(prob=0.3, sig=0.001, dist_type=normal)
    RandomCropLength(prob=0.4, sig=0.25, dist_type=half)
    ToTensorAudio()
)
/home/gpu-server/anaconda3/envs/audio_cls/lib/python3.9/site-packages/torchaudio/transforms.py:917: UserWarning: torchaudio.transforms.ComplexNorm has been deprecated and will be removed from future release.Please convert the input Tensor to complex type with `torch.view_as_complex` then use `torch.abs` and `torch.angle`. Please refer to https://github.com/pytorch/audio/issues/1337 for more details about torchaudio's plan to migrate to native complex type.
  warnings.warn(
/home/gpu-server/anaconda3/envs/audio_cls/lib/python3.9/site-packages/torchparse-0.1-py3.9.egg/torchparse/utils.py:54: UserWarning: __floordiv__ is deprecated, and its behavior will change in a future version of pytorch. It currently rounds toward 0 (like the 'trunc' function NOT 'floor'). This results in incorrect rounding for negative values. To keep the current behavior, use torch.div(a, b, rounding_mode='trunc'), or for actual floor division, use torch.div(a, b, rounding_mode='floor').
  return (spatial + p2 - k)//s + 1
  0%|                                                               | 0/311 [00:00<?, ?it/s]/home/gpu-server/disk/disk1/xuxin_workspace/projects/crnn-audio-classification-master/net/audio.py:10: UserWarning: __floordiv__ is deprecated, and its behavior will change in a future version of pytorch. It currently rounds toward 0 (like the 'trunc' function NOT 'floor'). This results in incorrect rounding for negative values. To keep the current behavior, use torch.div(a, b, rounding_mode='trunc'), or for actual floor division, use torch.div(a, b, rounding_mode='floor').
  return (lengths + 2 * pad - fft_length + hop_length) // hop_length
/home/gpu-server/anaconda3/envs/audio_cls/lib/python3.9/site-packages/torchaudio/transforms.py:936: UserWarning: torchaudio.functional.functional.complex_norm has been deprecated and will be removed from 0.11 release. Please convert the input Tensor to complex type with `torch.view_as_complex` then use `torch.abs`. Please refer to https://github.com/pytorch/audio/issues/1337 for more details about torchaudio's plan to migrate to native complex type.
  return F.complex_norm(complex_tensor, self.power)
  0%|                                                               | 0/311 [00:01<?, ?it/s]
Traceback (most recent call last):
  File "/home/gpu-server/disk/disk1/xuxin_workspace/projects/crnn-audio-classification-master/run.py", line 175, in <module>
    train_main(config, args.resume)
  File "/home/gpu-server/disk/disk1/xuxin_workspace/projects/crnn-audio-classification-master/run.py", line 115, in train_main
    trainer.train()
  File "/home/gpu-server/disk/disk1/xuxin_workspace/projects/crnn-audio-classification-master/train/base_trainer.py", line 88, in train
    result = self._train_epoch(epoch)
  File "/home/gpu-server/disk/disk1/xuxin_workspace/projects/crnn-audio-classification-master/train/trainer.py", line 68, in _train_epoch
    output = self.model(data)
  File "/home/gpu-server/anaconda3/envs/audio_cls/lib/python3.9/site-packages/torch/nn/modules/module.py", line 1102, in _call_impl
    return forward_call(*input, **kwargs)
  File "/home/gpu-server/disk/disk1/xuxin_workspace/projects/crnn-audio-classification-master/net/model.py", line 52, in forward
    xt, lengths = self.spec(xt, lengths)
  File "/home/gpu-server/anaconda3/envs/audio_cls/lib/python3.9/site-packages/torch/nn/modules/module.py", line 1102, in _call_impl
    return forward_call(*input, **kwargs)
  File "/home/gpu-server/disk/disk1/xuxin_workspace/projects/crnn-audio-classification-master/net/audio.py", line 55, in forward
    x = self.mel_scale(x)
  File "/home/gpu-server/anaconda3/envs/audio_cls/lib/python3.9/site-packages/torch/nn/modules/module.py", line 1102, in _call_impl
    return forward_call(*input, **kwargs)
  File "/home/gpu-server/anaconda3/envs/audio_cls/lib/python3.9/site-packages/torchaudio/transforms.py", line 386, in forward
    mel_specgram = torch.matmul(specgram.transpose(-1, -2), self.fb).transpose(-1, -2)
RuntimeError: mat1 and mat2 shapes cannot be multiplied (24600x1 and 1025x128)

which is sad

Hi, just come across with the same error, have you fixed it? Look forward to your reply.

Hi, I just come across with the same error too, have you fixed it?
Look forward to your reply.

@cpperrpr dude, it's too long ago, I completely forget what happened, I'm sorry can't help;(

Hi, just come across with the same error, have you fixed it?
Look forward to your reply.

Hi, just come across with the same error, have you fixed it?
Look forward to your reply.

Hi, just come across with the same error, have you fixed it?
Look forward to your reply.

Hi, just come across with the same error, have you fixed it?
Look forward to your reply.

I just install all the pkgs needed and downloaded the dataset, and then I got
$ python run.py train -c myconfigs/config.json --cfg crnn.cfg
Compose(
    ProcessChannels(mode=avg)
    AdditiveNoise(prob=0.3, sig=0.001, dist_type=normal)
    RandomCropLength(prob=0.4, sig=0.25, dist_type=half)
    ToTensorAudio()
)
/home/gpu-server/anaconda3/envs/audio_cls/lib/python3.9/site-packages/torchaudio/transforms.py:917: UserWarning: torchaudio.transforms.ComplexNorm has been deprecated and will be removed from future release.Please convert the input Tensor to complex type with `torch.view_as_complex` then use `torch.abs` and `torch.angle`. Please refer to https://github.com/pytorch/audio/issues/1337 for more details about torchaudio's plan to migrate to native complex type.
  warnings.warn(
/home/gpu-server/anaconda3/envs/audio_cls/lib/python3.9/site-packages/torchparse-0.1-py3.9.egg/torchparse/utils.py:54: UserWarning: __floordiv__ is deprecated, and its behavior will change in a future version of pytorch. It currently rounds toward 0 (like the 'trunc' function NOT 'floor'). This results in incorrect rounding for negative values. To keep the current behavior, use torch.div(a, b, rounding_mode='trunc'), or for actual floor division, use torch.div(a, b, rounding_mode='floor').
  return (spatial + p2 - k)//s + 1
  0%|                                                               | 0/311 [00:00<?, ?it/s]/home/gpu-server/disk/disk1/xuxin_workspace/projects/crnn-audio-classification-master/net/audio.py:10: UserWarning: __floordiv__ is deprecated, and its behavior will change in a future version of pytorch. It currently rounds toward 0 (like the 'trunc' function NOT 'floor'). This results in incorrect rounding for negative values. To keep the current behavior, use torch.div(a, b, rounding_mode='trunc'), or for actual floor division, use torch.div(a, b, rounding_mode='floor').
  return (lengths + 2 * pad - fft_length + hop_length) // hop_length
/home/gpu-server/anaconda3/envs/audio_cls/lib/python3.9/site-packages/torchaudio/transforms.py:936: UserWarning: torchaudio.functional.functional.complex_norm has been deprecated and will be removed from 0.11 release. Please convert the input Tensor to complex type with `torch.view_as_complex` then use `torch.abs`. Please refer to https://github.com/pytorch/audio/issues/1337 for more details about torchaudio's plan to migrate to native complex type.
  return F.complex_norm(complex_tensor, self.power)
  0%|                                                               | 0/311 [00:01<?, ?it/s]
Traceback (most recent call last):
  File "/home/gpu-server/disk/disk1/xuxin_workspace/projects/crnn-audio-classification-master/run.py", line 175, in <module>
    train_main(config, args.resume)
  File "/home/gpu-server/disk/disk1/xuxin_workspace/projects/crnn-audio-classification-master/run.py", line 115, in train_main
    trainer.train()
  File "/home/gpu-server/disk/disk1/xuxin_workspace/projects/crnn-audio-classification-master/train/base_trainer.py", line 88, in train
    result = self._train_epoch(epoch)
  File "/home/gpu-server/disk/disk1/xuxin_workspace/projects/crnn-audio-classification-master/train/trainer.py", line 68, in _train_epoch
    output = self.model(data)
  File "/home/gpu-server/anaconda3/envs/audio_cls/lib/python3.9/site-packages/torch/nn/modules/module.py", line 1102, in _call_impl
    return forward_call(*input, **kwargs)
  File "/home/gpu-server/disk/disk1/xuxin_workspace/projects/crnn-audio-classification-master/net/model.py", line 52, in forward
    xt, lengths = self.spec(xt, lengths)
  File "/home/gpu-server/anaconda3/envs/audio_cls/lib/python3.9/site-packages/torch/nn/modules/module.py", line 1102, in _call_impl
    return forward_call(*input, **kwargs)
  File "/home/gpu-server/disk/disk1/xuxin_workspace/projects/crnn-audio-classification-master/net/audio.py", line 55, in forward
    x = self.mel_scale(x)
  File "/home/gpu-server/anaconda3/envs/audio_cls/lib/python3.9/site-packages/torch/nn/modules/module.py", line 1102, in _call_impl
    return forward_call(*input, **kwargs)
  File "/home/gpu-server/anaconda3/envs/audio_cls/lib/python3.9/site-packages/torchaudio/transforms.py", line 386, in forward
    mel_specgram = torch.matmul(specgram.transpose(-1, -2), self.fb).transpose(-1, -2)
RuntimeError: mat1 and mat2 shapes cannot be multiplied (24600x1 and 1025x128)

which is sad

Hi, just come across with the same error, have you fixed it? Look forward to your reply.

Hi, I just come across with the same error too, have you fixed it? Look forward to your reply.

have you fix it?

I just install all the pkgs needed and downloaded the dataset, and then I got
$ python run.py train -c myconfigs/config.json --cfg crnn.cfg
Compose(
    ProcessChannels(mode=avg)
    AdditiveNoise(prob=0.3, sig=0.001, dist_type=normal)
    RandomCropLength(prob=0.4, sig=0.25, dist_type=half)
    ToTensorAudio()
)
/home/gpu-server/anaconda3/envs/audio_cls/lib/python3.9/site-packages/torchaudio/transforms.py:917: UserWarning: torchaudio.transforms.ComplexNorm has been deprecated and will be removed from future release.Please convert the input Tensor to complex type with `torch.view_as_complex` then use `torch.abs` and `torch.angle`. Please refer to https://github.com/pytorch/audio/issues/1337 for more details about torchaudio's plan to migrate to native complex type.
  warnings.warn(
/home/gpu-server/anaconda3/envs/audio_cls/lib/python3.9/site-packages/torchparse-0.1-py3.9.egg/torchparse/utils.py:54: UserWarning: __floordiv__ is deprecated, and its behavior will change in a future version of pytorch. It currently rounds toward 0 (like the 'trunc' function NOT 'floor'). This results in incorrect rounding for negative values. To keep the current behavior, use torch.div(a, b, rounding_mode='trunc'), or for actual floor division, use torch.div(a, b, rounding_mode='floor').
  return (spatial + p2 - k)//s + 1
  0%|                                                               | 0/311 [00:00<?, ?it/s]/home/gpu-server/disk/disk1/xuxin_workspace/projects/crnn-audio-classification-master/net/audio.py:10: UserWarning: __floordiv__ is deprecated, and its behavior will change in a future version of pytorch. It currently rounds toward 0 (like the 'trunc' function NOT 'floor'). This results in incorrect rounding for negative values. To keep the current behavior, use torch.div(a, b, rounding_mode='trunc'), or for actual floor division, use torch.div(a, b, rounding_mode='floor').
  return (lengths + 2 * pad - fft_length + hop_length) // hop_length
/home/gpu-server/anaconda3/envs/audio_cls/lib/python3.9/site-packages/torchaudio/transforms.py:936: UserWarning: torchaudio.functional.functional.complex_norm has been deprecated and will be removed from 0.11 release. Please convert the input Tensor to complex type with `torch.view_as_complex` then use `torch.abs`. Please refer to https://github.com/pytorch/audio/issues/1337 for more details about torchaudio's plan to migrate to native complex type.
  return F.complex_norm(complex_tensor, self.power)
  0%|                                                               | 0/311 [00:01<?, ?it/s]
Traceback (most recent call last):
  File "/home/gpu-server/disk/disk1/xuxin_workspace/projects/crnn-audio-classification-master/run.py", line 175, in <module>
    train_main(config, args.resume)
  File "/home/gpu-server/disk/disk1/xuxin_workspace/projects/crnn-audio-classification-master/run.py", line 115, in train_main
    trainer.train()
  File "/home/gpu-server/disk/disk1/xuxin_workspace/projects/crnn-audio-classification-master/train/base_trainer.py", line 88, in train
    result = self._train_epoch(epoch)
  File "/home/gpu-server/disk/disk1/xuxin_workspace/projects/crnn-audio-classification-master/train/trainer.py", line 68, in _train_epoch
    output = self.model(data)
  File "/home/gpu-server/anaconda3/envs/audio_cls/lib/python3.9/site-packages/torch/nn/modules/module.py", line 1102, in _call_impl
    return forward_call(*input, **kwargs)
  File "/home/gpu-server/disk/disk1/xuxin_workspace/projects/crnn-audio-classification-master/net/model.py", line 52, in forward
    xt, lengths = self.spec(xt, lengths)
  File "/home/gpu-server/anaconda3/envs/audio_cls/lib/python3.9/site-packages/torch/nn/modules/module.py", line 1102, in _call_impl
    return forward_call(*input, **kwargs)
  File "/home/gpu-server/disk/disk1/xuxin_workspace/projects/crnn-audio-classification-master/net/audio.py", line 55, in forward
    x = self.mel_scale(x)
  File "/home/gpu-server/anaconda3/envs/audio_cls/lib/python3.9/site-packages/torch/nn/modules/module.py", line 1102, in _call_impl
    return forward_call(*input, **kwargs)
  File "/home/gpu-server/anaconda3/envs/audio_cls/lib/python3.9/site-packages/torchaudio/transforms.py", line 386, in forward
    mel_specgram = torch.matmul(specgram.transpose(-1, -2), self.fb).transpose(-1, -2)
RuntimeError: mat1 and mat2 shapes cannot be multiplied (24600x1 and 1025x128)

which is sad

Hi, just come across with the same error, have you fixed it? Look forward to your reply.

Hi, I just come across with the same error too, have you fixed it? Look forward to your reply.

have you fix it?

Hi, I think I fixed the problem. But since it has been a long time, so I kind of forgot what did I do, sry can't help.


use sobel operator for edge detection

https://github.com/miguelmota/sobel seems to get better edge detection results than what is currently used.

fixed with  2357688


"Chirnogi" is listed in the drop-down menu

Description:
"Chirnogi" is listed in the drop-down menu alongside its corresponding county and commune, according to the law
Precondition:
The website is up an running.

Step 1
Type "Chirnogi" in the search bar.

Expected results
The location is listed in the drop-down menu as "Sat Chirnogi, CĂLĂRAȘI (Chirnogi)".


Short solution needed: "How to plot exponential function" (python-matplotlib)

Please help us write most modern and shortest code solution for this issue:
How to plot exponential function (technology: python-matplotlib)
Fast way
Just write the code solution in the comments.
Prefered way

Create pull request with a new code file inside inbox folder.
Don't forget to use comments explain solution.
Link to this issue in comments of pull request.

How to plot exponential function


Latest version of tRPC v11 HTTP resolver has been rewritten with Fetch API #169

Hey there @icflorescu,
We've just updated our resolveResponse-function to be based on the Fetch API rather than our bastardization.
I'm opening this issue mainly to let you know
We have some helper functions to convert a Node http.IncomingMessage to a Response-object.
I think this is the last breaking change for adapters prior to 11.0.0
To guide you, you can have a look at either the express adapter, the fetch adapter, or the Fastify adapter.
Don't hesitate to pop into our Discord and @ me if it proves itself tricky, we're happy to help out or make some tweaks to it to make it easier to adopt.
Greatly appreciate the work you're doing for the tRPC community 🙇

for the moment I got it working by following this guide


passing config file to the server

we'll need a way for the server to get the configuration filepath it should use. perhaps we should use what we did for caravel to do this... but I can't reconcile that with how to easily run it in a container right now...

@nmagee  This is related to https://github.com/pepkit/caravel/issues/55
We'd like to get a container with refgenie_server up and running here. Can you help with that?

@michalstolarczyk I think for @nmagee to set this up he will need a couple of things...

to know where the config file is located that we should use
what directory to mount into /genomes

have you thought through how this will work with the project space on the uva server?


Socketstream cannot connect because connect.session is not executed during handshake

In many scenarios the only HTTP request a user performs is socket.io handshake request. As connect.session middleware is not used during this request, session id becomes missing or corrupt, and socketstream cannot connect or reconnect.
Scenario 1
User's institution uses Squid proxy to cache pages. Two users visit a website one after another. The second user gets all static resources from cache so when the socket.io handshake is performed, the session cookie is not present and socketstream connection fails.
Scenario 1a
Same as Scenario 1, but the website uses a reverse proxy.
Scenario 1b
The reverse proxy from scenario 1a strips Set-Cookie headers from all cacheable content. As socketstream is designed so ALL content is cacheable, the only place a user can get session cookie is socket.io handshake request. But as connect.session is not engaged during handshake, the browser doesn't have a chance to receive a cookie, and socketstream connections fail.
Scenario 2
A user keeps a page open for a long time, so session cookie expires. Then user's loses connectivity for some time. When connectivity is restored, socketstream tries to reconnect. As session id is missing during handshake and no other HTTP requests are performed during reconnection, connection fails.
Scenario 3
Web server is upgraded while a user keeps a page open. When server is shut down, the user loses connection and when server is brought back the same problems as in Scenario 2 appear. In addition, the session may become invalid because cookie name, format or signature was changed during upgrade.

As for solution to this problem, I'm thinking of inserting cookieParser and session middleware before socket.io instead of after.
While socket.io doesn't have direct support for decoration with connect-style middleware, we can use the same approach as socket.io itself. Here are the relevant fragments from manager.js of socket.io:
  // reset listeners
  this.oldListeners = server.listeners('request');
  server.removeAllListeners('request');

  server.on('request', function (req, res) {
    self.handleRequest(req, res);
  });
...

    for (var i = 0, l = this.oldListeners.length; i < l; i++) {
      this.oldListeners[i].call(this.server, req, res);
    }

I'm going to close this, and if it crops up again, I'll pick it up.


[DUOS-1740][risk=no] Quiet CI Output

Addresses
https://broadworkbench.atlassian.net/browse/DUOS-1740
Minor update to mvn commands to quiet the output. See https://github.com/DataBiosphere/consent/pull/1830 for the Consent version.
Compare, for example, a previous run with a current run:
Old: https://github.com/DataBiosphere/consent-ontology/actions/runs/3527096676/jobs/5915777248
New: https://github.com/DataBiosphere/consent-ontology/actions/runs/3567235395/jobs/5994674574
You'll see a lot less of
Downloading from central: https://repo.maven.apache.org/maven2/org/apache/maven/shared/file-management/3.1.0/file-management-3.1.0.jar
Downloading from central: https://repo.maven.apache.org/maven2/org/apache/maven/maven-archiver/3.6.0/maven-archiver-3.6.0.jar
Downloading from central: https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-io/3.4.0/plexus-io-3.4.0.jar
Downloading from central: https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-archiver/4.4.0/plexus-archiver-4.4.0.jar
Downloading from central: https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-utils/3.4.2/plexus-utils-3.4.2.jar
Progress (1): 2.7/36 kB
Progress (1): 5.5/36 kB
Progress (1): 8.2/36 kB
Progress (1): 11/36 kB
Progress (1): 14/36 kB

which should make logs easier to navigate.

Have you read CONTRIBUTING.md lately? If not, do that first.

Label PR with a Jira ticket number and include a link to the ticket
Label PR with a security risk modifier [no, low, medium, high]
PR describes scope of changes
Get a minimum of one thumbs worth of review, preferably two if enough team members are available
Get PO sign-off for all non-trivial UI or workflow changes
Verify all tests go green
Test this change deployed correctly and works on dev environment after deployment

One thing to note: --batch-mode turns off colorization. Tested locally, build errors showed up in plain text, not the usual red.

I think I'm fine with that, any errors that we would need to debug would be done locally not using batch mode.


Correct link to PR in CHANGELOG.md

Thanks for this, not sure what Travis was having an issue with.


Data Parallel, multi GPU (minimal) example?

I am trying to get a simple example of tensorflow that parallelises the data over multiple GPUs to train. I have looked at cifar10_multi_gpu.py and its associated input files etc. but it seems to be a bit beyond me at this stage. Especially since I'm not sure why multiple GPUs would speed up the process in that example. If I understand correctly in that example all GPUs get the same copy of the data and the model. The only advantage that I see from this is that you can search a more spread out weight/parameter space.
What I expected was a line that did something similar to:
with tf.Session() as sess:
    for i in range(4): #for 4 gpus
        with tf.device('/gpu:%d' % i):
            tf.feed_dict({x: data[i*step:(i+1)*step], y: labels[i*step:(i+1)*step])

with the emphasis of the feed dict feeding different data to the four different gpus. I haven't however thought how I would go about getting the gradients and averaging them yet.
Any code examples would be highly appreciated. If not thoughts or any direction on how to proceed is also welcome.

In cifar10_multi_gpu.py the input function gets called once for each GPU therefore they get different data.

http://usyiyi.cn/documents/effective-tf/10.html

https://github.com/vahidk/EffectiveTensorflow#multi_gpu


cordova-plugin-x-toast broken

Problem description
On iOS, the toast banners don't appear.
Environment

Tabris.js version: 2.6.1
Device: iPad Pro
OS: 11.4

Code snippet
See the Tabris.js Cordova Toast example.

We updated the developer app to that latest version of the toast Cordova plugin:
https://github.com/EddyVerbruggen/Toast-PhoneGap-Plugin/releases/tag/2.7.2

Closing as resolved.

Broken again in 2.9.0. Works as expected with 3.3.0.

Will be covered by https://github.com/eclipsesource/tabris-js/issues/1104


App Crash

Hi,
I am implementing imagecapture in xamarin.forms. But app is crashed when it opens an android.
Java.NullPointerException
Attempt to invoke virtual method 'void android.support.v7.widget.ContentFrameLayout.setId(int)' on a null object reference

@MariSelviK This issue was already mentioned before. This should fix your problem.


[Feature request] Allow submitting a Duration of zero when using DurationDialog

Hi, first of all - thank you for this amazing library and all the work you have put into this project!
I am developing a work time tracking app, where users shall be able to input the duration of their pause / break time as well. For this I've already seen that using a DurationDialog would be just the perfect choice, as I've modelled the pause with a Duration.
I have a use case in which users can longtap on the duration of their pause of the respective tracked work time to input or adjust the duration of the pause / break - however, the DurationDialog does not allow to submit a Duration of zero - could this be added as a customisation option, so that a duration of zero / newTimeInSeconds of 0L could be submitted in  onPositiveClick: (Long) -> Unit lambda?
As of right now, the positive click button remains in disabled state, "forcing" users to choose a duration > 0, leaving them unable to set a pause duration of Duration.ZERO if they would like to change it back again.

Screenshot of DurationDialog cleared with positive button disabled
I believe this would involve an enhancement of the libraries' internal class DurationState to allow validation of a timeInfoInseconds of = 0 in isValid()
Thank you in advance for considering this!
One day I hope to be able to submit a PR, however right now I'm too new to android development and programming in general...
Thanks you in advance for letting me know what you think about this feature request and thank you for this project!
Happy easter and best regards from the town of Karlsruhe =)

Hey Peter, thanks for the feature request. Happy to hear that you are using my library.
It's a quick and small change which makes absolutely sense, especially considering there's a min & max value support for the Duration View/ Dialog to restrict the value range. Your analysis is correct. I will make the change soon. 😁
Though it might take a bit longer until create a version of the sheets library.
Usually, I want to include or fix a few more things.
No problem, one day then! If you need any help with Android/ Kotlin etc., feel free to contact me.
Happy Easter to you as well! :)

I have implemented a check to ensure that the input falls within the minimum and maximum time bounds as defined in the DurationConfig. When a user enters a time value that is invalid due to it being outside the allowed range, a hint will be displayed to inform them about the time restrictions. However, when the minimum time is set to 1 and the user enters nothing or 0, the hint will not be displayed. This approach feels more natural as it avoids causing abrupt layout changes due to input invalidity, given that the default value in the DurationDialog is always zero and only gets updated with new values. Despite having an empty or zero input, the "Ok" button remains clickable.

Hello Max, thanks a lot for implementing this feature so quickly, really neat!
The solution is interesting, I hadn't thought about all the things that have to be considered in order to allow a duration of zero - looking forward to the next version of the library then!
And also thanks for the offer, let's keep in touch here or on another platform - I feel that I can learn a lot about Android/Kotlin just from your project here.
Best regards,
Peter


Navigation menu cut off on some pages that do not have scrolling

On my end, the micro.blog page list is cut off after HOME in Chrome & Firefox (Windows 10) due to either them not being fitted or that part of the theme not being scrollable.

@danielsale Thank you for reporting the issue so that I can figure it out. Can you share a URL of the issue? Or a screenshot? Also, is this on your phone, computer, tablet?

It's on my laptop, which is situated in landscape mode. I saw it when I applied it to my micro.blog, and when I look at your's, now. It looks fine on my tablet, but there's more room. I would provide a screenshot but it wouldn't reveal much, it looks perfect other than "Home" is the only page link I see (it's at the bottom of that part of the page) and it goes no further to reveal the other pages.

@danielsale Out of curiosity, do you use the Page Zoom feature in your browser?

Not really, it's zoomed to 100% all the time, and it's then when I see the problem. I can zoom out and see the other pages, though!

If we're talking about the left-navigation menu, mine also cuts off. I can only see 6 "pages" links on the left, and I have more than that. Scrolling while over the left menu scrolls the main page, and doesn't allow you to see the rest of the navigation menu.

@toddgrotenhuis @danielsale thank you again. Now that #2 is fixed I can begin working on this one.

A fix for this will be in the next release on Micro.blog.


Ignore conversion errors when building StructuredData

Added the ability to ignore conversion errors when building StructuredData by setting structuredData.ignoreConversionErrors=true

More generally, this should be doing the same for both repeatable and non repeatable data.

Is there any further feedback at this point?

I have added the test case.
I had to add setter for the configuration member because I could not call init(Schema)
and initFromConfiguration(indexingService) in the same test case.


[libass] fix fontconfig dependency in .pc file

Describe the pull request

What does your PR fix?
This PR fixes link errors with fontconfig when linking against libass using pkgconfig on x64-linux. Ran into this problem when linking against ffmpeg[libass] (for instance, see link errors here: https://github.com/mcmtroffaes/ffmpeg-msvc-build/runs/2851854810?check_suite_focus=true#step:15:42).

Which triplets are supported/not supported? Have you updated the CI baseline?
No changes.

Does your PR follow the maintainer guide?
Yes.

Yes.

Thanks for the fix, this looks great to me!

Lovely, many thanks for merging so quickly! For the record, upstream has plans for supporting meson (there's a long standing PR on their repo which appears to be in good shape), so hopefully we can then get rid of the custom CMakeLists.txt in due time.

so hopefully we can then get rid of the custom CMakeLists.txt in due time.

you probably already can by switching to vcpkg_configure_make

you probably already can by switching to vcpkg_configure_make

I wish you were right. Unfortunately upstream doesn't support windows builds with configure/make. It looks like this is the reason the port was created with a custom CMakeLists.txt here on vcpkg, and also the reason why upstream is moving to support meson.


@conda-forge-admin, please add bot automerge

Hi! This is the friendly automated conda-forge-webservice.
I just wanted to let you know that I added bot automerge in conda-forge/lume-epics-feedstock#4.


Fix maximum and minimum value validators

According to the validator's message the result has to be something like greater or equal and less or equal, but this was not happening in the code.

Have a look at where these are called when a BaseValidator is called. When compare() returns True a ValidationException is raised, so compare() needs to return False for the validation to pass. Not a bug, I'm afraid.


The method 'MultiTrackTween' isn't defined for the class

Xcode's output:
↳
    lib/animation/FadeAnimation.dart:12:19: Error: The method 'MultiTrackTween' isn't defined for the class 'FadeAnimation'.
     - 'FadeAnimation' is from 'package:day35/animation/FadeAnimation.dart' ('lib/animation/FadeAnimation.dart').
    Try correcting the name to the name of an existing method, or defining a method named 'MultiTrackTween'.
        final tween = MultiTrackTween([
                      ^^^^^^^^^^^^^^^
    lib/animation/FadeAnimation.dart:13:7: Error: The method 'Track' isn't defined for the class 'FadeAnimation'.
     - 'FadeAnimation' is from 'package:day35/animation/FadeAnimation.dart' ('lib/animation/FadeAnimation.dart').
    Try correcting the name to the name of an existing method, or defining a method named 'Track'.
          Track("opacity").add(Duration(milliseconds: 500), Tween(begin: 0.0, end: 1.0)),
          ^^^^^
    lib/animation/FadeAnimation.dart:14:7: Error: The method 'Track' isn't defined for the class 'FadeAnimation'.
     - 'FadeAnimation' is from 'package:day35/animation/FadeAnimation.dart' ('lib/animation/FadeAnimation.dart').
    Try correcting the name to the name of an existing method, or defining a method named 'Track'.
          Track("translateY").add(
          ^^^^^
    lib/animation/FadeAnimation.dart:19:12: Error: The method 'ControlledAnimation' isn't defined for the class 'FadeAnimation'.
     - 'FadeAnimation' is from 'package:day35/animation/FadeAnimation.dart' ('lib/animation/FadeAnimation.dart').
    Try correcting the name to the name of an existing method, or defining a method named 'ControlledAnimation'.
        return ControlledAnimation(
               ^^^^^^^^^^^^^^^^^^^
    Failed to package /Users/PERSO/Projects/Flutter-home-service-app.
    Command PhaseScriptExecution failed with a nonzero exit code
    note: Using new build system
    note: Planning
    note: Build preparation complete
    note: Building targets in dependency order

Could not build the application for the simulator.
Error launching application on iPhone 11 Pro.

```

My version packages:
simple_animations: ^4.0.1
scrollable_positioned_list: ^0.2.3


Fixed parenthesis only in paths.

Bash treats parentheses in paths as shelling out to another command. To fix you can either surround with single quotes or escape the parentheses. Surround with quotes has issues when dealing with certain meaningful characters (like ~) so I changed the script to only escape on parentheses. If you quoted the path when you pasted it in, this gets lost when being read in as command line arguments. This also works on the Typhoon project as well. (Before the issue was ~/DerivedData was in quotes and ~ was not being treated as your home directory)

@alexargo PR was closed. Do you still want to merge this?


Change 'register' functions to use Evented Trait Object

When attempting to make an event-loop wrapper which can conveniently manage multiple protocol handlers, the one problem I ran into with mio is being able to provide Sized Evented objects for consumption.  In some cases I was able to know the exact Evented impl and Any::downcast down to the type, in other cases I was not so lucky.
I have a branch which simply changes deregister/register/register_opt in EventLoop and Poll to take an &Evented rather than  E : Evented.  This requires no code change for customers as a ref will already coerce. All tests pass.
Also,  I have added a Slab::replace which works like std::mem::replace. Very handy for moving values in and out of a Slab without giving up a token.

Would it work instead to ?Sized bound, as I do here: https://github.com/dwrensha/mio/commit/2f4c2d42d878958e3d2aea751b0fc5328d4b83ff? (I've sat on this change because I ended up not needing it.)

For reasons unbeknownst to me,  that change forces me to annotate every invocation of a register function with :: to get the tests to pass, even when I clearly annotate the type of the socket in its instantiation.    I really have no idea why that would happen, ?Sized does add ambiguity, but only in allowing unsized items, it doesn't allow a broader range of concrete types.

e.g.
test/test_battery.rs:240:16: 240:103 error: type annotations required: cannot resolve `_ : mio::io::Evented` [E0283]
test/test_battery.rs:240     event_loop.register_opt(&sock, CLIENT, Interest::writable(), PollOpt::edge() | PollOpt::oneshot()).unwrap();

hmm... @dwrensha's patch should work... @rrichardson do you have full code somewhere that shows the problem?
@dwrensha I would take your diff as PR :smile:

@rrichardson I don't think that switching to trait objects here is going to be a great idea. I'd rather figure out why you are having problems getting trait objects working in the first place...
I would like the replace fn on Slab though. A separate PR would be appreciated!

Try @dwrensha's diff. The tests won't compile. The compiler needs
additional type annotation for register for the exact socket type.
This theoretically should work I think.
It might be a bug in rustc, not sure.
My issue is that, in order to manage arbitrary protocols with arbitrary
connection types, I am storing contexts as trait objects. There isn't
another way i can think of to do it.
I can fathom situations in which the consumer of the API may not have the
type information handy to downcast the context in order to get a statically
sized object in order to call register.
On Wed, May 27, 2015, 4:30 PM Carl Lerche<EMAIL_ADDRESS>wrote:

hmm... @dwrensha https://github.com/dwrensha's patch should work...
@rrichardson https://github.com/rrichardson do you have full code
somewhere that shows the problem?
@dwrensha https://github.com/dwrensha I would take your diff as PR [image:
:smile:]
—
Reply to this email directly or view it on GitHub
https://github.com/carllerche/mio/pull/181#issuecomment-106057750.

I just tested @dwrensha's branch from #182 . It works.  I'll close this and make a new PR for Slab::replace

added #183 based on the #182 branch


Request: Multiple openDTU in one VenusOS

I would be nice to have the ability to add multiple openDTU at once.
Usecases:

Hoymiles devices to fare to connect to one openDTU
to many Hoymiles devices for one openDTU

I guess that would be possible, but just iterating over multiple ahoy or opendtus

I guess that would be possible, but just iterating over multiple ahoy or opendtus

Hi, I would appriciate this too. There is an additional reason. Hoyemiles HMS* Inverter need another RF Module instead of the NRF24L01+ for the HM* series it uses CMT2300A for the new one. I have the "old" RF module running for my two HM Inverter and a device with CMT2300A for the one HMS Inverter. I don't necessarely want to combine them because I can place the new one closer to the actual inverter.
Is this already possible or how do I itarate across two instances?

I keep this in mind when it comes to refactoring the base.  For now, you can simply copy opendtu to opendtu2 and start it. So you will have 2 instances of it. This is how it runs in my installation.

I keep this in mind when it comes to refactoring the base. For now, you can simply copy opendtu to opendtu2 and start it. So you will have 2 instances of it. This is how it runs in my installation.

so you mean the folder /data/dbus-opendtu to /data/dbus-opendtu2 right?  ... and make sure the DeviceInstance ID's do not in conflict  after that start the service for the second folder .. right?

Yes, that's right. It works very well. Give it a try. I've got ahoyDTU and openDTU running this way. Different folders, of course, and different instance IDs.

Hello,
Would someone be kind enough to post the installation script for a second instance.
Unfortunately, I'm not sure where I need to rename the folders.
Thank you very much!
Hallo,
würde Jemand so nett sein, dass Installationsskript für eine zweite Instanz zu posten.

Dankeschön!


Domain activation is Failed - [BRIEF DESCRIPTION]

App Id: d37u6m3z2s07mu
Region: ap-northeast-2
Step: Domain activation
Status: Failed

Note: Do not include information that is sensitive in nature such as your domain name, company etc.

Issue/question
A clear and concise description of what the issue/question is.
Error message
If there is an error message, please include it here.
Note: Be sure to check the message for sensitive information.
Additional information
Please add any other relevant information. Please feel free to include screenshots.

@jnk-keynoty Please ensure you have the proper CNAME records for your domain. https://docs.aws.amazon.com/amplify/latest/userguide/custom-domains.html.
If you feel you have done everything correctly, try removing and re-adding the domain.
Let us know if you have specific problems setting up custom domains.

@jnk-keynoty Please ensure you have the proper CNAME records for your domain. https://docs.aws.amazon.com/amplify/latest/userguide/custom-domains.html.
If you feel you have done everything correctly, try removing and re-adding the domain.
Let us know if you have specific problems setting up custom domains.

We are going to close out this issue, but please feel free to re-open if you still need help.


DCGM_FI_DEV_GPU_UTIL with MIG devices

Hi. I understand that the DCGM_FI_DEV_GPU_UTIL metric is currently not available for MIG devices. Are there any plans to support it?
I think the DCGM_FI_DEV_GPU_UTIL metric is really important for efficiently running a large number of GPUs on the platform.
As an alternative, I'm using the DCGM_FI_PROF_GR_ENGINE_ACTIVE metric, but it's somewhat inconvenient that I can't see the exact utilization.
Thank you.

@devnjw,
Currently, there are no plans to support DCGM_FI_DEV_GPU_UTIL for MIG instances. This metric is outdated and has several limitations. However, the new hardware now supports the same method as DCGM_FI_PROF_* metrics. Starting from the Hopper architecture, the NVML API can provide similar metrics directly. You can find more information at link.

that I can't see the exact utilization
Could you provide more details about this? Typically, the DCGM_FI_PROF_* metrics offer more precise data.

I understood that DCGM_FI_DEV_GPU_UTIL is exactly the utilization between 0 and 100, and DCGM_FI_PROF_GR_ENGINE_ACTIVE only indicates if the GPU is being used, but I could be wrong.
One question, is it possible for DCGM_FI_DEV_GPU_UTIL to go up but not DCGM_FI_PROF_GR_ENGINE_ACTIVE as shown in the graph below?
(I am using GPU for machine learning).

Thank you!

@devnjw https://github.com/NVIDIA/DCGM/issues/64#issuecomment-1400811885 would have answers for your question. [Asked be me previously]
Also, following is the definition of GPU utilization: (From nvidia-smi --help-query-gpu
"utilization.gpu"
Percent of time over the past sample period during which one or more kernels was executing on the GPU.
The sample period may be between 1 second and 1/6 second depending on the product.

@starry91,
Both DCGM_FI_DEV_GPU_UTIL and nvidia-smi utilization.gpu measure GPU utilization from the driver's point of view. The DCGM_FI_PROF_* metrics provide more precise utilization values per specific GPU subsystems, as they use special hardware.
DCGM_FI_PROF_GR_ENGINE_ACTIVE measures the percentage of time when the graphical engine was active. Essentially, it shows when the GPU pipeline scheduler did any work at all. If you only use one thread on one SM, but for the whole monitoring interval, the GR_ENGINE_ACTIVE will show 1.0 (which is 100% as it goes from 0.0 to 1.0).
For a more precise high-level picture of your system state, consider using the DCGM_FI_PROF_SM_OCCUPANCY or DCGM_FI_PROF_SM_ACTIVE metrics.
It is possible to see nvidia-smi utilization.cpu at 100% but DCGM_FI_PROF_GR_ENGINE_ACTIVE at 0%. Such a situation can be simulated easily using the dcgmproftester12 -t 1009 —no-dcgm-validation command, which utilizes PCI bandwidth but none of the SMs do any job (thus the GrActive remains at 0%).


waratah-v1.5.0 published binary gets tagged as a severe trojan threat by Defender - Trojan:Win32/Wacatac.H!ml

Not quite sure what exactly causes Windows Defender to tag it as such, but wasn't an issue in 1.4.0, just recently in 1.5.0. I can pull source locally and compile from that so not a major issue but it was a bit unexpected to have Defender quarantining the zip.
(if this is expected then all good, feel free to close this btw)

Thanks @tanant for bringing this to my attention. I haven't seen this before (but can now repro it on a Win10 system), but it is unexpected.  I'll run this by our security team to see if this is a real issue (e.g. caused by an ingested dependency) or a false-positive.

I brought this up to the Windows Defender team and they agreed it's a false positive, and they have updated the Defender rules accordingly.  I can no longer repro this on my Win10 machine with the latest rules (see below)

Open command prompt as administrator and change directory to c:\Program Files\Windows Defender
Run “MpCmdRun.exe -removedefinitions -dynamicsignatures”
Run "MpCmdRun.exe -SignatureUpdate"

Thanks again for reporting!

Great, thanks!


Fixed #31122 -- Clarified that Lookup acts as a query expression.

https://code.djangoproject.com/ticket/31122

@caioariede Thanks for the update :+1:


Enhance FLUIDOS Node Logs

Hi everyone.
This issue targets the need of increasing logs on some of the FLUIDOS Node components.
Currently, there are just a few logs on the provider components that inform about upcoming events, making debug difficult.
Any feedback on this aspects are more than appreciated.
Please, feel free to add any comment below so we can collect common needs and put additional logs.
Thanks,
Francesco

Great idea!
As discussed in slack, I would recommend to remove the "Refreshing cache" message in the rear-controller, unless there is an actual update in the content of the cache.
I would also suggest to be a bit more verbose when performing or responding to requests. Or at least to allow the enabling of a more verbose log level.


[Feature Request] Pandas.Series.info

It would be great if Pandas Series got an info method, like Pandas DataFrame. My main interest is to find out memory usage.

http://pandas.pydata.org/pandas-docs/stable/generated/pandas.Series.memory_usage.html?highlight=memory_usage#pandas.Series.memory_usage

duplicate of https://github.com/pydata/pandas/issues/5167

Cool. #5167 did not turn up in a Google search. Sorry for the duplicate.


Re-introduce {Transaction,Blockchain}_snark.verify

Re-implement the verify functions for both Transaction_snark and Blockhain_snark modules in the way that makes sure same code is used between new verify functions and verify provided by respective Proof modules.
Explain how you tested your changes:

Untested, expected to be tested after functions will be utilized in #16201

Checklist:

[x] Dependency versions are unchanged

Notify Velocity team if dependencies must change in CI

[ ] Modified the current draft of release notes with details on what is completed or incomplete within this project
[x] Document code purpose, how to use it

Mention expected invariants, implicit constraints

[x] Tests were added for the new behavior

Document test purpose, significance of failures
Test names should reflect their purpose

[x] All tests pass (CI will check this if you didn't)
[x] Serialized types are in stable-versioned modules
[x] Does this close issues? None

!ci-build-me


Finish refactoring Interpreter and delete ExecutionResult and TransformBuilder

This is the completion of the refactoring I've started to get Interpreter to use InterpreterContext. This finally deletes ExecutionResult and now everything will be handled through InterpreterContext.
The detailed changes are:

Delete TransformBuilder since it was built on ExecutionResult and is now unused
Delete all shim handling code that converted between ExecutionResult and InterpreterContext
Delete all fields from Interpreter except for the InterpreterContext
Replace all instances of ExecutionResult with void

This change is built off of the last few changes that I've made including the operation builder as well as the conversion of visitLoadInst.
/stack #571

@Mergifyio rebase

@Mergifyio rebase


error: Unexpected keyword argument "astext_type" for "JSONB"

I'm getting error: Unexpected keyword argument "astext_type" for "JSONB" in my alembic migrations on lines like:
sa.Column("data", postgresql.JSONB(astext_type=sa.Text()), nullable=True),
Looking at the init function of the JSON class that JSONB inherits it has a keyword argument astext_type.
Can't find the init function for JSON/JSONB in this repo.
So, am I doing something wrong or is there something not implemented or whatnot?
Thanks!

Recommend closing, as should have been solved via #211


Build Go starter kit

Some super-non-standard code, not actually tested on server, at:
https://github.com/rooklift/golux2


bad link syntax

Related to https://github.com/mulesoft/docs-general/pull/47

I think the original values are correct.


The training-operator liveness probe causes crash loops

Checks

[X] I have searched the existing issues.
[X] This request is NOT specific to the CLI. (Please open a CLI issue)

Motivation
I am having an issue with the training-operator not coming up correctly. I've deployed in a low-powered cluster and the timeout on the probes in the upstream manifests is only 3s. This isn't enough and causes the pod to crash loop. I was able to resolve this issue by manually patching the timeout to a longer time (like 30s) before it marks it as failed, kills the pod, and recreates.
30s is likely overkill, but nonetheless it resolved the issue. However, deployKF doesn't offer an official way to patch the manifests in a declarative way.
References
kubeflow/training-operator#1841
kubeflow/training-operator#1693
kubeflow/training-operator#1717
Implementation
I see 2 options for implementation, one is far more flexible and applies to a variety of use cases but is potentially more complex to implement. The second is very specific to this use case, but it seems to be a relatively common issue so would be a useful and easy to tune option to have available.
https://github.com/deployKF/deployKF/blob/main/generator/templates/manifests/kubeflow-tools/training-operator/kustomization.yaml
A potential solution for option 1, the more flexible version, would be to update that kustomization.yaml file to include a patches section. Alongside the extraManifests attribute any manifest could be patched. The training-operator is easy because we aren't already patching any of the manifests, but merging patches with the project's own patches could be more challenging. I would need some help if we were to apply this strategy for each component, but could submit the PR myself if we only apply this option for the training-operator.
The second option could be applied similarly to any other configuration value such as: https://github.com/deployKF/deployKF/blob/main/generator/templates/manifests/kubeflow-tools/pipelines/patches/patch-cache-server-deployment.yaml
Are you willing & able to help?

[X] I am able to submit a PR!
[X] I can help test the feature!

@patrickblackjr we are actually planning to implement a generic "patches" system in a future deployKF version (but it's a bit more complex to handle patching the non-kustomize apps which make up deployKF, like the Helm charts), I hope to have it by 0.2.0, but it might end up in 0.2.1.
In terms of the specific issue you have found, when we do the next update of deployKF we will either add a custom patch to increase the timeout, or if the upstream manifests have increased the limit already (in the new version of Training Operator) then we probably won't bother.

Great to hear @thesuperzapper!
https://github.com/kubeflow/training-operator/blob/master/manifests/base/deployment.yaml
It does not appear they have changed it upstream, they don't consider it a bug since you can easily override to meet most needs if you are using the kustomize manifests directly.
I will get a PR open.

We have gone a different direction with our ML workloads, but encourage anyone else to submit a PR if needed. Thanks for the response on this!

@patrickblackjr I am just going to leave this open so others can track when we implement a fix.


Generate stub for new version of polars

The last version available is 0.20.28 which is super old. I am aware of this #80, I don't realise the amount of effort it require.
Do you think that in the meantime you can push stubs for a newer veriosn of polars ?
Thanks a lot !
NB: My workaround today is to copy paste the entire polars/dateframe/frame.py file into typings/polars/dataframe/frame.pyi (without removing body's function ! ) and I had my namespace manually. It do the job but some manual work...

I have #80 mostly done - the difficult thing has been to test it, because I haven't been able to find some nice way to test stubs. But the current stubs has errors anyway, so these just need to have less
I'll try to release it soon - maybe tomorrow

I have published a pre-release now - Could you try it out and verify that it works? I looked over it and it looks correct, but i'd like to have someone try it on an actual project before actually releasing it
The version is 0.6.0rc0

Will do asap

You have to install into the same venv as the version of Polaris that you're using by the way. I'll probably add other ways later

It works for me 🥳👌


Fix get hostname

These commits introduce a bug.
When a Driver overrides GetIP(), it expects GetSSHHostname to call his version of GetIP() not the version from BaseDriver

Please sign your commits following these rules:
https://github.com/docker/docker/blob/master/CONTRIBUTING.md#sign-your-work
The easiest way to do this is to amend the last commit:
$ git clone -b "fix-get-hostname" git@github.com:dgageot/machine.git somewhere
$ cd somewhere
$ git rebase -i HEAD~3
editor opens
change each 'pick' to 'edit'
save the file and quit
$ git commit --amend -s --no-edit
$ git rebase --continue # and repeat the amend for each commit
$ git push -f

Ammending updates the existing PR. You DO NOT need to open a new one.

Thanks and nice catch @dgageot
LGTM


Contributing guidelines

Inspiration: https://github.com/sindresorhus/awesome/blob/master/contributing.md

added, thx


wsasend errors

The log of a nonetheless succeeding vpnkit running is flooded by messages of the likes of:

time="2022-09-14T09:48:12+02:00" level=error msg="Can't proxy a datagram to udp: write udp 192.168.X.X:port->192.168.XX.255:port: wsasend: Ein ungültiges Argument wurde angegeben.\n"

Is there a reason to be concerned ?

Do you have anything running in WSL that would generate UDP traffic?
I wouldn't be concerned about it other than the log file getting large.

@sakai135 I suspect from a tcpdump run, that it might be my syncthing service, thanks for the pointer !


feat: 趋势分析表支持列展示不同数量的指标

👀 PR includes

✨ Feature

[x] 趋势分析表支持列展示不同数量的指标

🎨 Enhance

[ ] Code style optimization
[ ] Refactoring
[ ] Change the UI
[ ] Improve the performance
[ ] Type optimization

🐛 Bugfix

[ ] Solve the issue and close #0

🔧 Chore

[ ] Test case
[ ] Docs / demos update
[ ] CI / workflow
[ ] Release version
[ ] Other ()

📝 Description
🖼 Screenshot

label 为 数组
label 不为数组，value为数组

🔗 Related issue link

🔍 Self Check before Merge

[ ] Add or update relevant Docs.
[ ] Add or update relevant Demos.
[ ] Add or update relevant TypeScript definitions.

:tada: This PR is included in version @antv/s2-v1.13.0 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:

:tada: This PR is included in version @antv/s2-react-v1.12.0 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


What is the source story?

Currently only support for Azure Storage. How will the support be?

This will be covered in:

https://github.com/Azure/azure-sdk-for-net/issues/19142
https://github.com/Azure/azure-sdk-for-net/issues/19143


Use testcontainers for Rabbit binder integration tests

Backport #2341

ℹ the PR in main has some comments around choice in the proposal. In case someone else reviews this one and says "why did. you ...."

Merged with https://github.com/spring-cloud/spring-cloud-stream/commit/8401447dd52393d8b71e8128455a0910a0829165


UnpicklingError when loading checkpoint file

Thank you for publishing the wonderful library of TTS. I am running this at hand, but I am unable to perform inference with the following error.
I apologize for the inconvenience, but could you please let me know if there is a solution to this problem?
Or, could you give us information on the ver. of pytorch, cuda, etc. in the environment in which you are running?
Description
I encountered an UnpicklingError when trying to run the fast_inference.py script with the --model_name kotoba-tech/kotoba-speech-v0.1 argument. The error occurs when the script attempts to load the checkpoint file using torch.load().
The relevant part of the error traceback is as follows:
Traceback (most recent call last):
File "/home/jovyan/kotoba-speech-release/fam/llm/fast_inference.py", line 151, in <module>
    tts = tyro.cli(TTS)
  File "/home/jovyan/kotoba-speech-release/venv/lib/python3.10/site-packages/tyro/_cli.py", line 187, in cli
    output = _cli_impl(
  File "/home/jovyan/kotoba-speech-release/venv/lib/python3.10/site-packages/tyro/_cli.py", line 454, in _cli_impl
    out, consumed_keywords = _calling.call_from_args(
  File "/home/jovyan/kotoba-speech-release/venv/lib/python3.10/site-packages/tyro/_calling.py", line 241, in call_from_args
    return unwrapped_f(*positional_args, **kwargs), consumed_keywords # type: ignore
  File "/home/jovyan/kotoba-speech-release/fam/llm/fast_inference.py", line 69, in __init__
    self.llm_second_stage = Model(
  File "/home/jovyan/kotoba-speech-release/fam/llm/inference.py", line 89, in __init__
    self._init_model()
  File "/home/jovyan/kotoba-speech-release/fam/llm/inference.py", line 101, in _init_model
    checkpoint = torch.load(self.config.ckpt_path, map_location=self.config.device)
  File "/home/jovyan/kotoba-speech-release/venv/lib/python3.10/site-packages/torch/serialization.py", line 1028, in load
    return _legacy_load(opened_file, map_location, pickle_module, **pickle_load_args)
  File "/home/jovyan/kotoba-speech-release/venv/lib/python3.10/site-packages/torch/serialization.py", line 1246, in _legacy_load
    magic_number = pickle_module.load(f, **pickle_load_args)
_pickle.UnpicklingError: invalid load key, 'v'.

Environment

Operating System:  Ubuntu22.02
Python version: 3.10.12
pytorch-lightning: 2.2.1
kotoba-speech-release version: 0.1

Steps to Reproduce

Clone the kotoba-speech-release repository.
Install the required dependencies.
Run the following command:

python -i fam/llm/fast_inference.py --model_name kotoba-tech/kotoba-speech-v0.1

Hi @ayutaz! Thanks for trying out our code. Here are the relevant package versions:

pytorch-lightning==2.2.1
pytorch-triton==3.0.0+989adb9a29
torch==2.4.0.dev20240321+cu121

If this issue still persists after updating the libraries, please let us know. We're happy to do a deeper dive :)

Closing this, as this is a package version issue. Let us know if the problem still persists.

Closing this, as this is a package version issue. Let us know if the problem still persists.


Publish on crates.io?

cargo install is easier than to think about where to put downloaded source code and to manually make it available in $PATH.

I was under the impression that crates.io was for libraries.

As a slight alternative, this command:
cargo install --git https://github.com/sajattack/discourse-tui

may be listed early in the README.

Where would that put the repo? It's kind of important for the user to copy the config files to the right place.


regsync: 0.6.1 -> 0.7.0

Automatic update generated by nixpkgs-update tools. This update was made based on information from https://github.com/regclient/regclient/releases.
meta.description for regsync is: Docker and OCI Registry Client in Go and tooling using those libraries
meta.homepage for regsync is: https://github.com/regclient/regclient
Updates performed

Golang update

To inspect upstream changes

Release on GitHub

Compare changes on GitHub

Impact
Checks done

built on NixOS
The tests defined in passthru.tests, if any, passed
found 0.7.0 with grep in /nix/store/czxw5ahvxm5kp8p6icmdjs7zvn07m1dq-source

Rebuild report (if merged into master) (click to expand)

5 total rebuild path(s)

5 package rebuild(s)

First fifty rebuilds by attrpath

regbot
regclient
regctl
regsync

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/czxw5ahvxm5kp8p6icmdjs7zvn07m1dq-source \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A regsync https://github.com/r-ryantm/nixpkgs/archive/96d212b0efc18bc1b6fa550ab5b40530deb07cd8.tar.gz

Or:
nix build github:r-ryantm/nixpkgs/96d212b0efc18bc1b6fa550ab5b40530deb07cd8#regsync

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/czxw5ahvxm5kp8p6icmdjs7zvn07m1dq-source
ls -la /nix/store/czxw5ahvxm5kp8p6icmdjs7zvn07m1dq-source/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
Result of nixpkgs-review run on x86_64-linux 1

4 packages built:

regbot (regbot.regbot ,regbot.regctl ,regbot.regsync ,regclient.regbot)
regclient
regctl (regclient.regctl ,regctl.regbot ,regctl.regctl ,regctl.regsync)
regsync (regclient.regsync ,regsync.regbot ,regsync.regctl ,regsync.regsync)

Maintainer pings
cc @maxbrunet for testing.

Closed in favor of #326725


Update Little Christmas page to contain newest information

Current coverage is 47.61% (diff: 100%)

Merging #17 into master will not change coverage

@@             master        #17   diff @@
==========================================
  Files            16         16
  Lines           462        462
  Methods           0          0
  Messages          0          0
  Branches          8          8
==========================================
  Hits            220        220
  Misses          234        234
  Partials          8          8

Powered by Codecov. Last update 4082c84...c111820


Is any different with official implementation?

Hi @githuboflk ,
yes, it is slightly different, because I modified some modules and visualized some kernel, let the original repo easy to run and show results ;))
best,


setting Boot Flash flag on ATSAM4SD32 does not always work

When I do a bossac -e -w -v -b prog.bin  the erasing and flashing work fine, but when I than do a bossac -i the Boot Flash is still false. Only if I do a second bossas -b the bit seems to be set (at that point bossac can't talk with the MCU anymore. A NRST of the CPU than boots my new prog.bin and everything works fine.
Am I doing something wrong or is there some timing/flash checking bug ?

Hello, I am encountering the same situation with the ATSAM4S8B. Did you ever find a solution, or are you just setting boot from flash twice? Not a deal breaker at all, but I would like to know if there is operator error (wouldn't be the first time!) Thanks!

Hey Bob, no I never really found (nor did I actively look for) a solution. Also never got any reactions on this issue report, last code change also seems 2 years ago, it kind of looks like the bossa project is abandoned :-(

I think I've noticed this as well.
I suspect there's something going on with the chip.
See the datasheet errata: https://ww1.microchip.com/downloads/en/DeviceDoc/Atmel-11100-32-bit Cortex-M4-Microcontroller-SAM4S_Datasheet.pdf 48.1.2 (Read Error after a GPNVM or Lock Bit Writing).


Woodpecker-cli exec linter invalid type

Component
cli
Describe the bug
❯ woodpecker-cli exec ./.woodpecker/build.yml
[linter] Invalid type. Expected: [boolean,string,number,array,object], given: null
[linter] Invalid type. Expected: [boolean,string,number,array,object], given: null
❯ woodpecker lint .woodpecker/build.yml
✅ Config is valid

System Info
❯ woodpecker-cli --version
woodpecker-cli version 2.4.1

Additional context
No response
Validations

[X] Read the docs.
[X] Check that there isn't already an issue that reports the same bug to avoid creating a duplicate.
[X] Checked that the bug isn't fixed in the next version already [https://woodpecker-ci.org/faq#which-version-of-woodpecker-should-i-use]

Could you provide your build.yml for testing.


Do we need to create a new shareType::SCIENCEMESH ?

First take a look at Dynamic share providers in Nextcloud
Create a new shareType::SCIENCEMESH :question:
Why yes:
When we manage a share 'between' Reva and Nextcloud, we are doing this via the Sciencemesh app, so it makes sense that the type of the share is 'Sciencemesh' type
Why not:
In the RevaCotroller.php, we implement these methods for sharing:

Share()
addShare()
GetShare()
Unshare()
UpdateShare()
ListShares()
ListReceivedShares()
GetReceivedShare()
UpdateReceivedShare()

All of them handle each share as a 'Share' object -> Share implements IShare.
So, if we want to generate a new ShareType:public const TYPE_SCIENCEMESH = 14, that would be incompatible with the Share20 library, which handles the shares.

Why yes:
When we manage a share 'between' Reva and Nextcloud, we are doing this via the Sciencemesh app, so it makes sense that the type of the share is 'Sciencemesh' type
Why not:

In the RevaCotroller.php, we implement these methods for sharing:

Share()
addShare()
GetShare()
Unshare()
UpdateShare()
ListShares()
ListReceivedShares()
GetReceivedShare()
UpdateReceivedShare()

All of them handle each share as a 'Share' object -> Share implements IShare.
So, if we want to generate a new ShareType:public const TYPE_SCIENCEMESH = 14, that would be incompatible with the Share20 library, which handles the shares.

The only info that we get from shareType::SCIENCEMESH is that the sharing is 'between' Reva and Nextcloud

:point_down:
So, What are we sharing?

Done, see https://github.com/pondersource/sciencemesh-nextcloud#standard-setup-recommended-for-triantafullenia-ismoil-yvo-bänz-navid


Bump framework and api-server versions

PR builder started
Link: https://github.com/wso2/product-is/actions/runs/1514694662

PR builder completed
Link: https://github.com/wso2/product-is/actions/runs/1514694662
Status: failure

PR builder started
Link: https://github.com/wso2/product-is/actions/runs/1515172827

PR builder completed
Link: https://github.com/wso2/product-is/actions/runs/1515172827
Status: success


[release/8.1] Enable full signing and stable package versions

Getting ready for 8.1 release.
Microsoft Reviewers: Open in CodeFlow

Is this branch meant for release/8.0 instead of main?

Ohh great catch, yes retargeting.

/azp run dotnet.aspire

@joperezr - Are you going to forward port any relevant changes here to main?

After release, we always merge back the release branch into main in order to make sure that changes that were done are not missed.


mLocationMarkers NullPointerException

Hello,
I get:
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.google.ar.core.examples.java.helloar/com.google.ar.core.examples.java.helloar.HelloArActivity}: java.lang.NullPointerException: Attempt to read from field 'java.util.ArrayList uk.co.appoly.arcorelocation.LocationScene.mLocationMarkers' on a null object reference
Caused by: java.lang.NullPointerException: Attempt to read from field 'java.util.ArrayList uk.co.appoly.arcorelocation.LocationScene.mLocationMarkers' on a null object reference
Could you please let me know what I can do to fix this?
Thanks so much!
appmaker123

I'm having the same error.
Did you manage to fix it?
Thanks


[Bar] Update axis label dynamically

version: 1.0.2
I want to update the labels on the x-axis.
I use update as in the documentation suggested.
https://github.com/nnnick/Chart.js/blob/master/docs/02-Bar-Chart.md#update-
 myBarChart.datasets[0].bars[2].value = 50;
  // Would update the first dataset's value of 'March' to be 50
  myBarChart.datasets[0].bars[2].label = 'December';
  myBarChart.update();
  // Calling update now animates the position of March from 90 to 50.

http://emberjs.jsbin.com/mabuwareli/1/edit?html,js,output
The tooltip is updated correctly, but the label on the x-axis shows March.
Is it possible to change the label(s) dynamically? I try to avoid to redraw the whole chart.
Here is a more robust example. (Note: axis labels and tooltips are not in sync)
http://emberjs.jsbin.com/futevijime/6/edit?js,output

I have found myBarChart.scale.xLabels which solves my problem:
http://emberjs.jsbin.com/yuniboxaro/1/edit?js,output
P.S.: There a funny behavior. After several update (10-20x) the first bar's highlightFill becomes grey. I opened a new issue for it. #1867

Closing since there is a good fix in v1 and this is natively supported in v2


oneway platforms propel character over them

Hi,
I'm testing all the demos of the current head, and I've just discovered the "one way paltforms" into the "platformer 2d" and into the "kinematic character 2d" demos.
I've found that when you jump too close to a "one way platform", the platform propels you over the top of it.
This behavior surprised me because I was expecting them to have a passive bahavior. Like for instance, if you jump near a table, the table should not propels you over the to of it. The table should become "solid" only once your feet jumped higher than it.
With current bahavior, the table will propels you over the top of it as soon as your head will cross it.
I think it's a bug or a wrong feature.
Here is an animated GIF showing the beahvior into the 2d platformer demo :

the platformer demo uses Dynamic character, not kinematic.. but yeah I see
the problem, will eventually improve it
On Thu, May 7, 2015 at 2:14 PM, SuperUserNameMan<EMAIL_ADDRESS>wrote:

Hi,
I'm testing all the demos of the current head, and I've just discovered
the "one way paltforms" into the "platformer 2d" and into the "kinematic
character 2d" demos.
I've found that when you jump too close to a "one way platform", the
platform propels you over the top of it.
This behavior surprised me because I was expecting them to have a passive
bahavior. Like for instance, if you jump near a table, the table should not
propels you over the to of it. The table should become "solid" only once
your feet jumped higher than it.
With current bahavior, the table will propels you over the top of it as
soon as your head will cross it.
I think it's a bug or a wrong feature.
Here is an animated GID showing the beahvior into the 2d platformer demo :
[image: godot_demo_2d_platformer_20150507_1838]
https://cloud.githubusercontent.com/assets/9801802/7521247/9b06803e-f4ec-11e4-81ce-66cffd8335c6.gif
—
Reply to this email directly or view it on GitHub
https://github.com/okamstudio/godot/issues/1854.

--
OkamStudio

yep, you're correct.
I confused with the "kinematic character" demo in which you added one-way platforms too, and in which this bahavior is noticiable too :

yeah kinematic has this problem but for a different reason.. now that the
motion code is unified, it should be much simpler to fix this
On Thu, May 7, 2015 at 2:53 PM, SuperUserNameMan<EMAIL_ADDRESS>wrote:

yep, you're correct.
I confused with the "kinematic character" demo in which you added one-way
platforms too, and in which this bahavior is noticiable too :
[image: godot_demo_2d_kinematic_collision_20150507_1846]
https://cloud.githubusercontent.com/assets/9801802/7522016/ab6e1b66-f4f2-11e4-819f-b48fc94ca929.gif
—
Reply to this email directly or view it on GitHub
https://github.com/okamstudio/godot/issues/1854#issuecomment-99959685.


Add private community feature

First step to implement : https://github.com/encointer/encointer-parachain/issues/144
According to Encointer example in Integritee book

[x] Add Encointer ceremonies and balances pallet into enclave runtime
[ ] Add Trusted Calls to call our custom pallet functions isolated in a TEE
[ ] Add Trusted Getters
[ ] Extend CLI to allow to call the trusted calls and getters (direct invocation)
[ ] Add a small demo (CI integration test)

Trusted Calls, see https://github.com/integritee-network/worker/issues/1120

Public Getter: there are not supported by current implementation: https://github.com/encointer/community-sidechain/issues/20

List of trusted Calls : https://github.com/encointer/community-sidechain/issues/22

List of public getters : https://github.com/encointer/community-sidechain/issues/24

List of trusted getters : https://github.com/encointer/community-sidechain/issues/25

Extend the CLI with the commands: https://github.com/encointer/community-sidechain/issues/26

Add integration tests:

balance transfer
perform one meetup
test register unregister
test reputation
test endorsement


Update shared components 3.2.37

Description
Updates the shared components to latest version.
Related issues
Addresses AB#86546.
Testing
Existing tests continue to pass.

Close in favor of #1185


Done adding support for having Mures County

Done adding support for Mures County
Within this PR I've added support for having Mures County counties list in Romania.
Materials used:
https://ro.wikipedia.org/wiki/Listă_de_localități_din_județul_Mureș
http://judete.biz/localitati-mures/
Please review and merge at your earliest convenience. Thank you!

@DanielMandea thanks for this MR, can you rebase this so I can merge?


Add contribution guidelines

In order to guide contributors to better outcomes, I wanted to add contribution guidelines that highlight some of the reasons new animations are rejected.
@eltonmesquita @WarenGonzaga, I’m open to any suggestions on what else to add to these guidelines.

[ ] Add contribution section currently in Readme
[ ] Add guidance around third-party libraries and dev tools

@daneden maybe we could provide some guidance around the "vision" of the library. It's a bit abstract but I think we could at least show the right direction as there are some requests and PR's that seem unfit for the library.


Modify privacy level of information within a Ruleset

A function and variable were public properties of a Ruleset when they didn't need to be.
The variable was something that could become inconsistent with the rules attribute.
The function acted on this variable in a manner that shouldn't ever need doing outside Ruleset initialisation.
This also documents the attribute that a Ruleset has.
This came about in the writing up of #245 to determine the information required to determine Ruleset equality.

Is there a use case for a user to validate a custom ruleset against the schema? How are we suggesting this is done? Check before using the json string to instantiate a ruleset?

Is there a use case for a user to validate a custom ruleset against the schema?  How are we suggesting this is done?

Try and instantiate a Ruleset from a string. If it instantiates all is good.
Validating a string against the Ruleset Schema by calling a function on a random instance of the Ruleset class seems... very odd.

OR
import json
import jsonschema
json.loads(ruleset_str, object_pairs_hook=iati.utilities.dict_raise_on_duplicates)
jsonschema.validate(self.ruleset, iati.default.ruleset_schema())

Validating a string against the Ruleset Schema by calling a function on a random instance of the Ruleset class seems... very odd.

Fair enough - just testing this I was expecting a ValueError('The provided Ruleset does not validate against the Ruleset Schema') when I ran this:
>>> import iati
>>> iati.Ruleset('{"json": "test"}')
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/Users/dalepotter/Documents/iati.core/iati/rulesets.py", line 87, in __init__
    self._set_rules(ruleset_dict)
  File "/Users/dalepotter/Documents/iati.core/iati/rulesets.py", line 139, in _set_rules
    for rule_type, cases in rule.items():
AttributeError: 'list' object has no attribute 'items'

That looks like a bug!

It's a bug with the Ruleset Schema.
It would be expected that a Ruleset is in the format:
{
    "xpath": {
        "dictionary": "of values"
    }
}

As it is, however, the Ruleset Schema does not specify that a Ruleset must be a dictionary of dictionaries. The following is therefore valid:
{
    "xpath": "some random string"
}

This can be fixed by updating patternProperties in the Ruleset Schema to read:
"patternProperties": {
        ".+": {
                "type": "object",
                "properties": {
                        [...]
                }
        }
}

ie. add "type": "object",


Graphical bug with npc indicators highlighting pay-dirt

When highlighting some objects allowed to be tagged by the npc indicators plugin, there is a graphical glitch for the setting "draw names above NPC".
example for pay-dirt:

pay-dirt might not be a great example since you really wouldn't have any reason to highlight it but this might indicate a larger bug.

What is the bug here? The col tags in the name?

It looks like the color tag is just missing '#'. Unfortunately, I wasn't able to duplicate this bug with NPC indicators enabled and using #FF9040 as the highlight color.


BREAKING CHANGE: Remove placement classes #DS-1183

Description

Additional context

Issue reference

coverage: 96.371% (+16.4%) from 79.967%
when pulling 13ce8f557c0fec321ca73d487952d77be71b9c8c on bc/remove-class-placement
into 506f2683354bcb42a9b1ac9e8d34abcf9eabfe6c on integration/release-v2.