A6000  运行 报错

命令
python text_generation.py \
    --model ../Yi-6B-200K \
    --tokenizer ../Yi-6B-200K \
    --max-tokens 512 \
    --eos-token $'\n' \
    --streaming

错误：
Let me tell you an interesting story about cat Tom and mouse Traceback (most recent call last):
  File "/extend/ai/works/Yi/demo/text_generation.py", line 78, in <module>
    main(args)
  File "/extend/ai/works/Yi/demo/text_generation.py", line 60, in main
    outputs = model.generate(
              ^^^^^^^^^^^^^^^
  File "/extend/ai/miniconda3/envs/yi/lib/python3.11/site-packages/torch/utils/_contextlib.py", line 115, in decorate_context
    return func(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^
  File "/extend/ai/miniconda3/envs/yi/lib/python3.11/site-packages/transformers/generation/utils.py", line 1652, in generate
    return self.sample(
           ^^^^^^^^^^^^
  File "/extend/ai/miniconda3/envs/yi/lib/python3.11/site-packages/transformers/generation/utils.py", line 2734, in sample
    outputs = self(
              ^^^^^
  File "/extend/ai/miniconda3/envs/yi/lib/python3.11/site-packages/torch/nn/modules/module.py", line 1518, in _wrapped_call_impl
    return self._call_impl(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/extend/ai/miniconda3/envs/yi/lib/python3.11/site-packages/torch/nn/modules/module.py", line 1527, in _call_impl
    return forward_call(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/extend/ai/miniconda3/envs/yi/lib/python3.11/site-packages/accelerate/hooks.py", line 164, in new_forward
    output = module._old_forward(*args, **kwargs)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/extend/ai/.cache/huggingface/modules/transformers_modules/Yi-6B-200K/modeling_yi.py", line 813, in forward
    outputs = self.model(
              ^^^^^^^^^^^
  File "/extend/ai/miniconda3/envs/yi/lib/python3.11/site-packages/torch/nn/modules/module.py", line 1518, in _wrapped_call_impl
    return self._call_impl(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/extend/ai/miniconda3/envs/yi/lib/python3.11/site-packages/torch/nn/modules/module.py", line 1527, in _call_impl
    return forward_call(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/extend/ai/.cache/huggingface/modules/transformers_modules/Yi-6B-200K/modeling_yi.py", line 688, in forward
    layer_outputs = decoder_layer(
                    ^^^^^^^^^^^^^^
  File "/extend/ai/miniconda3/envs/yi/lib/python3.11/site-packages/torch/nn/modules/module.py", line 1518, in _wrapped_call_impl
    return self._call_impl(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/extend/ai/miniconda3/envs/yi/lib/python3.11/site-packages/torch/nn/modules/module.py", line 1527, in _call_impl
    return forward_call(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/extend/ai/miniconda3/envs/yi/lib/python3.11/site-packages/accelerate/hooks.py", line 159, in new_forward
    args, kwargs = module._hf_hook.pre_forward(module, *args, **kwargs)
                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/extend/ai/miniconda3/envs/yi/lib/python3.11/site-packages/accelerate/hooks.py", line 290, in pre_forward
    return send_to_device(args, self.execution_device), send_to_device(
                                                        ^^^^^^^^^^^^^^^
  File "/extend/ai/miniconda3/envs/yi/lib/python3.11/site-packages/accelerate/utils/operations.py", line 160, in send_to_device
    {
  File "/extend/ai/miniconda3/envs/yi/lib/python3.11/site-packages/accelerate/utils/operations.py", line 161, in <dictcomp>
    k: t if k in skip_keys else send_to_device(t, device, non_blocking=non_blocking, skip_keys=skip_keys)
                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/extend/ai/miniconda3/envs/yi/lib/python3.11/site-packages/accelerate/utils/operations.py", line 167, in send_to_device
    return tensor.to(device, non_blocking=non_blocking)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
RuntimeError: CUDA error: device-side assert triggered
CUDA kernel errors might be asynchronously reported at some other API call, so the stacktrace below might be incorrect.
For debugging consider passing CUDA_LAUNCH_BLOCKING=1.

配置 CUDA_LAUNCH_BLOCKING=1 之后重跑，把 log 再贴一下？

我们没有 A600 的机器，但我们在 A800 上无法复现该问题。请问你修改过 tokenizer 吗?

少打了个0，是 NVIDIA RTX A6000。没有修改过 tokenizer  @loofahcus

因为这里复现不了这个问题，可能等 @ZhaoFancy 这边的镜像出来了，可以用我们的镜像试试

你好，Yi-6B在4090上出现同样错误 @loofahcus

你好，请问解决这个问题了吗

您好，可以用镜像 registry.lingyiwanwu.com/ci/01-ai/yi:latest 试下？
或者，如果如果有 conda 的话可以试下根目录下的  conda-lock.yml 文件？

用镜像 registry.lingyiwanwu.com/ci/01-ai/yi:latest 试了下，还是不行😭
(base) ai@enine:~/works/Yi$ docker run -v ~/models:/models --gpus all -it registry.lingyiwanwu.com/ci/01-ai/yi /bin/bash
(yi) yi@3a4bb3e87951:/yi$ python demo/text_generation.py  --model /models/Yi-6B-200K
Namespace(model='/models/Yi-6B-200K', tokenizer='', max_tokens=512, streaming=False, prompt='Let me tell you an interesting story about cat Tom and mouse Jerry,', eos_token='<|endoftext|>')
Loading checkpoint shards: 100%|███████████████████████████████████████████████████| 2/2 [00:07<00:00,  3.68s/it]
Traceback (most recent call last):
  File "/yi/demo/text_generation.py", line 78, in <module>
    main(args)
  File "/yi/demo/text_generation.py", line 60, in main
    outputs = model.generate(
              ^^^^^^^^^^^^^^^
  File "/opt/conda/envs/yi/lib/python3.11/site-packages/torch/utils/_contextlib.py", line 115, in decorate_context
    return func(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^
  File "/opt/conda/envs/yi/lib/python3.11/site-packages/transformers/generation/utils.py", line 1652, in generate
    return self.sample(
           ^^^^^^^^^^^^
  File "/opt/conda/envs/yi/lib/python3.11/site-packages/transformers/generation/utils.py", line 2734, in sample
    outputs = self(
              ^^^^^
  File "/opt/conda/envs/yi/lib/python3.11/site-packages/torch/nn/modules/module.py", line 1518, in _wrapped_call_impl
    return self._call_impl(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/conda/envs/yi/lib/python3.11/site-packages/torch/nn/modules/module.py", line 1527, in _call_impl
    return forward_call(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/conda/envs/yi/lib/python3.11/site-packages/accelerate/hooks.py", line 164, in new_forward
    output = module._old_forward(*args, **kwargs)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/yi/.cache/huggingface/modules/transformers_modules/Yi-6B-200K/modeling_yi.py", line 818, in forward
    outputs = self.model(
              ^^^^^^^^^^^
  File "/opt/conda/envs/yi/lib/python3.11/site-packages/torch/nn/modules/module.py", line 1518, in _wrapped_call_impl
    return self._call_impl(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/conda/envs/yi/lib/python3.11/site-packages/torch/nn/modules/module.py", line 1527, in _call_impl
    return forward_call(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/yi/.cache/huggingface/modules/transformers_modules/Yi-6B-200K/modeling_yi.py", line 693, in forward
    layer_outputs = decoder_layer(
                    ^^^^^^^^^^^^^^
  File "/opt/conda/envs/yi/lib/python3.11/site-packages/torch/nn/modules/module.py", line 1518, in _wrapped_call_impl
    return self._call_impl(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/conda/envs/yi/lib/python3.11/site-packages/torch/nn/modules/module.py", line 1527, in _call_impl
    return forward_call(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/conda/envs/yi/lib/python3.11/site-packages/accelerate/hooks.py", line 159, in new_forward
    args, kwargs = module._hf_hook.pre_forward(module, *args, **kwargs)
                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/conda/envs/yi/lib/python3.11/site-packages/accelerate/hooks.py", line 290, in pre_forward
    return send_to_device(args, self.execution_device), send_to_device(
                                                        ^^^^^^^^^^^^^^^
  File "/opt/conda/envs/yi/lib/python3.11/site-packages/accelerate/utils/operations.py", line 160, in send_to_device
    {
  File "/opt/conda/envs/yi/lib/python3.11/site-packages/accelerate/utils/operations.py", line 161, in <dictcomp>
    k: t if k in skip_keys else send_to_device(t, device, non_blocking=non_blocking, skip_keys=skip_keys)
                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/conda/envs/yi/lib/python3.11/site-packages/accelerate/utils/operations.py", line 167, in send_to_device
    return tensor.to(device, non_blocking=non_blocking)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
RuntimeError: CUDA error: device-side assert triggered
CUDA kernel errors might be asynchronously reported at some other API call, so the stacktrace below might be incorrect.
For debugging consider passing CUDA_LAUNCH_BLOCKING=1.
Compile with `TORCH_USE_CUDA_DSA` to enable device-side assertions.

用镜像 registry.lingyiwanwu.com/ci/01-ai/yi:latest 试了下，还是不行😭
(base) ai@enine:~/works/Yi$ docker run -v ~/models:/models --gpus all -it registry.lingyiwanwu.com/ci/01-ai/yi /bin/bash
(yi) yi@3a4bb3e87951:/yi$ python demo/text_generation.py  --model /models/Yi-6B-200K
Namespace(model='/models/Yi-6B-200K', tokenizer='', max_tokens=512, streaming=False, prompt='Let me tell you an interesting story about cat Tom and mouse Jerry,', eos_token='<|endoftext|>')
Loading checkpoint shards: 100%|███████████████████████████████████████████████████| 2/2 [00:07<00:00,  3.68s/it]
Traceback (most recent call last):
  File "/yi/demo/text_generation.py", line 78, in <module>
    main(args)
  File "/yi/demo/text_generation.py", line 60, in main
    outputs = model.generate(
              ^^^^^^^^^^^^^^^
  File "/opt/conda/envs/yi/lib/python3.11/site-packages/torch/utils/_contextlib.py", line 115, in decorate_context
    return func(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^
  File "/opt/conda/envs/yi/lib/python3.11/site-packages/transformers/generation/utils.py", line 1652, in generate
    return self.sample(
           ^^^^^^^^^^^^
  File "/opt/conda/envs/yi/lib/python3.11/site-packages/transformers/generation/utils.py", line 2734, in sample
    outputs = self(
              ^^^^^
  File "/opt/conda/envs/yi/lib/python3.11/site-packages/torch/nn/modules/module.py", line 1518, in _wrapped_call_impl
    return self._call_impl(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/conda/envs/yi/lib/python3.11/site-packages/torch/nn/modules/module.py", line 1527, in _call_impl
    return forward_call(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/conda/envs/yi/lib/python3.11/site-packages/accelerate/hooks.py", line 164, in new_forward
    output = module._old_forward(*args, **kwargs)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/yi/.cache/huggingface/modules/transformers_modules/Yi-6B-200K/modeling_yi.py", line 818, in forward
    outputs = self.model(
              ^^^^^^^^^^^
  File "/opt/conda/envs/yi/lib/python3.11/site-packages/torch/nn/modules/module.py", line 1518, in _wrapped_call_impl
    return self._call_impl(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/conda/envs/yi/lib/python3.11/site-packages/torch/nn/modules/module.py", line 1527, in _call_impl
    return forward_call(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/yi/.cache/huggingface/modules/transformers_modules/Yi-6B-200K/modeling_yi.py", line 693, in forward
    layer_outputs = decoder_layer(
                    ^^^^^^^^^^^^^^
  File "/opt/conda/envs/yi/lib/python3.11/site-packages/torch/nn/modules/module.py", line 1518, in _wrapped_call_impl
    return self._call_impl(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/conda/envs/yi/lib/python3.11/site-packages/torch/nn/modules/module.py", line 1527, in _call_impl
    return forward_call(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/conda/envs/yi/lib/python3.11/site-packages/accelerate/hooks.py", line 159, in new_forward
    args, kwargs = module._hf_hook.pre_forward(module, *args, **kwargs)
                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/conda/envs/yi/lib/python3.11/site-packages/accelerate/hooks.py", line 290, in pre_forward
    return send_to_device(args, self.execution_device), send_to_device(
                                                        ^^^^^^^^^^^^^^^
  File "/opt/conda/envs/yi/lib/python3.11/site-packages/accelerate/utils/operations.py", line 160, in send_to_device
    {
  File "/opt/conda/envs/yi/lib/python3.11/site-packages/accelerate/utils/operations.py", line 161, in <dictcomp>
    k: t if k in skip_keys else send_to_device(t, device, non_blocking=non_blocking, skip_keys=skip_keys)
                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/conda/envs/yi/lib/python3.11/site-packages/accelerate/utils/operations.py", line 167, in send_to_device
    return tensor.to(device, non_blocking=non_blocking)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
RuntimeError: CUDA error: device-side assert triggered
CUDA kernel errors might be asynchronously reported at some other API call, so the stacktrace below might be incorrect.
For debugging consider passing CUDA_LAUNCH_BLOCKING=1.
Compile with `TORCH_USE_CUDA_DSA` to enable device-side assertions.

请问你有做过任何模型侧（如配置）上的修改吗？

@ZhaoFancy 我们能拿到 A6000 的卡做相关测试吗？我看了一下，A6000 的显存应该是 48G, 不知道是不是这个的关系

@Degfy 如果方便的话，您可以试着把 config.json 里的 max_position_embeddings 设为 100000 试试

我们能拿到 A6000 的卡做相关测试吗？

目前没有

@Degfy 如果方便的话，您可以试着把 config.json 里的 max_position_embeddings 设为 100000 试试

好的，我抽空试试

@Degfy 如果方便的话，您可以试着把 config.json 里的 max_position_embeddings 设为 100000 试试

有效，改成 100000后，的确没有再报错了，成功跑起来了。6B的模型跑得飞快；34B模型消耗46.8G显存，大约5秒出一个token。

嗯，看起来是显存的问题。长序列这里有一些额外的显存消耗。

你好，4 * 4090的配置也遇到了相同的问题，按照给出的答案，把 config.json 里的 max_position_embeddings 设为 100000之后，出现了CUDA error: CUBLAS_STATUS_EXECUTION_FAILED when calling `cublasGemmEx’问题


New rule proposal: Use braces consistently

This rule is an intentional subset of the behavior of SA1503 (CurlyBracketsMustNotBeOmitted) targeting the behavior used by me in my own projects and now adopted by CoreFX.
Category: Layout
Rule: Use braces consistently
Description: For a sequence of if/else if/else control flow statements, if any element of the sequence includes curly braces for the block, then all elements of the sequence should include curly braces. Note that else if is a special case here - if else is immediately followed by if, then the else does not need braces.

:+1: its nice to give people a bit more flexibility with regards to curly braces.

+1
2015-05-20 17:32 GMT+02:00 Vincent Weijsters<EMAIL_ADDRESS>
[image: :+1:] its nice to give people a bit more flexibility with regards
to curly braces.
—
Reply to this email directly or view it on GitHub
https://github.com/DotNetAnalyzers/StyleCopAnalyzers/issues/716#issuecomment-103927172
.


[BUG] Seasons get unmonitored mid-season after being handled with Media-Type: Seasons

Describe the bug
When using a rule collection with Media Type: Seasons and the series has a mid-season stop with a duration longer then the action timeout days, the season will get unmonitored in Sonarr so when the series continues it will no longer download further episodes.
Settings:
Media Type: Seasons
Sonarr Action: Unmonitor and Delete Existing Episodes
Take Action After: 14 Days
Rules: Users that saw all available episodes - contains - Me
There are 3 Sonarr actions to choose from:

Unmonitor and Delete Season
Unmonitor and Delete Existing Episodes
Unmonitor Season and Keep Files

I was expecting that only the existing episodes would get unmonitored and not the season itself, so that future episodes from that season will still get downloaded.
Instead all episodes and the season gets unmonitored.
There are some series that have for example first only 6 episodes in a season and later other episodes get added to the season when more information about the number of episodes are revealed.
Or some series have mid-season stops.
In both situations Sonarr will no longer download further releases.
This Series has two more episodes that are not yet on TVDB.
But will not download episodes 19 and 20 when handled:

Hello!
A possible workaround could be to include "'Sonarr - Has unaired episodes' equals false" in your rules for now. This way, it will not select seasons that are incomplete.
Upon examining the code, I see that it indeed handles the entire season in all cases. I will correct this issue as soon as possible.

Thank you very much.
I already use the rule: Sonarr - Has un-aired episodes equals false.
But that will not work because in most times the total number of episodes and release dates are not yet known, and therefore are not yet present on TVDB.
Just like the series on the screenshot, it will have 'Has un-aired episodes' False, while there still are more episodes to come. Probably 2 more when comparing with previous seasons, but for sure 1 because it was announced at the end of episode 18.
But because the season itself is unmonitored after maintainerr handled it, the next episodes will not get downloaded, even when someone added the episodes on TVDB.

I merged a possible solution in #951, but it still needs testing before I'm able to release it. If you'd like, you may temporarily use the jorenn92/maintainerr:develop or ghcr.io/jorenn92/maintainerr:main image to test the latest build & this feature.

I will test it out right away

While testing something is going wrong that is not related to this issue.
Before going to develop branch I had for 'Take Action After Days' = 7
Series Collection:
True Detective: 6
The Last Airbender: 4
90 Days Fiance: 2
The Killing Kind: 2
Can I Tell You a Secret: 2

Then changed to develop branch.
Then changed the 7 to 0 and pressed 'Run Rules'
After that the number of days to delete was changed not to 0 but to this:

Then I changed the 0 to 1 and pressed again 'Run Rules'
After that the number of days to delete was changed not to 1 but to this:

I cannot see any logic in this change of numbers.

As a work-around for now to test the unmonitored change, I deleted the rules collection and made a new rules collection with 'Take Action After Days' = 0.
After pressing 'Run Rules' the number of days to delete was set to 1:

It should have showed 0 right?

The unmonitored change works.
After the series was deleted by Maintainerr the season is still monitored on Sonarr and after I added the remaining episodes the episodes were also monitored.
😁😁😁

Can I just ask another question in the same area? I'm using Shows - Unmonitor show and keep files. with the rule "Sonarr - Is monitored == true" AND "Sonarr - Show anded == true" When the rule is run, the season episodes are unmonitored but the Show is still monitored. I thought that "Unmonitor show and keep files" would set the show itself to unmonitored. Have I misunderstood the functionality?

That wasn't correct either.. Fixed in https://github.com/jorenn92/Maintainerr/pull/952. Once merged (after all tests finished), you'll also be able to verify this with the develop / main image. Probably in about 30 minutes, factoring in the build of the Docker image as well.

Can I just ask another question in the same area? I'm using Shows - Unmonitor show and keep files. with the rule "Sonarr - Is monitored == true" AND "Sonarr - Show anded == true" When the rule is run, the season episodes are unmonitored but the Show is still monitored. I thought that "Unmonitor show and keep files" would set the show itself to unmonitored. Have I misunderstood the functionality?

That wasn't correct either.. Fixed in #952. Once merged (after all tests finished), you'll also be able to verify this with the develop / main image. Probably in about 30 minutes, factoring in the build of the Docker image as well.

Wow!
That was a quick response :-)
Thank you!

As a work-around for now to test the unmonitored change, I deleted the rules collection and made a new rules collection with 'Take Action After Days' = 0.
After pressing 'Run Rules' the number of days to delete was set to 1:

It should have showed 0 right?
It did Delete all the series when the handle collection job was run at 12.00 automatically.

I'm not exactly sure why you're seeing the strange behavior in the number of days, but using 0 isn't tested or recommended. The UI does accept it, but I don't think the backend will do anything.
I'm not going to look into it right now, since this only arises when messing with the timers. But I'll write it down and might look into it at a later date.

Can I just ask another question in the same area? I'm using Shows - Unmonitor show and keep files. with the rule "Sonarr - Is monitored == true" AND "Sonarr - Show anded == true" When the rule is run, the season episodes are unmonitored but the Show is still monitored. I thought that "Unmonitor show and keep files" would set the show itself to unmonitored. Have I misunderstood the functionality?

That wasn't correct either.. Fixed in #952. Once merged (after all tests finished), you'll also be able to verify this with the develop / main image. Probably in about 30 minutes, factoring in the build of the Docker image as well.

Wow! That was a quick response :-) Thank you!

No problem! Please let me know if it doesn't work as expected. I didn't test it yet..

I merged a possible solution in #951, but it still needs testing before I'm able to release it. If you'd like, you may temporarily use the jorenn92/maintainerr:develop or ghcr.io/jorenn92/maintainerr:main image to test the latest build & this feature.
If you do, please keep me posted if this solution works for you (and doesn't break anything else)

I think this may be working for seasons not fully watched, but if the season is entirely watched it doesn't unmonitor any episodes at all.
Here's an example of a season recently removed using the following config:

Note that nothing got unmonitored in the process - only files got deleted. This is using ghcr.io/jorenn92/maintainerr:main  pulled at 18:00 10th March 2024

I merged a possible solution in #951, but it still needs testing before I'm able to release it. If you'd like, you may temporarily use the jorenn92/maintainerr:develop or ghcr.io/jorenn92/maintainerr:main image to test the latest build & this feature.
If you do, please keep me posted if this solution works for you (and doesn't break anything else)

I think this may be working for seasons not fully watched, but if the season is entirely watched it doesn't unmonitor any episodes at all.
Here's an example of a season recently removed using the following config:

Note that nothing got unmonitored in the process - only files got deleted. This is using ghcr.io/jorenn92/maintainerr:main pulled at 18:00 10th March 2024

Hmm, i’ll try to replicate it. I’ll get back to you!


Secure March 2021

added state-partitioning.mvp.ui.enabled

Enable disable network:preload and network predictor? Any change in what shows in DNS logs?

Firefox introduces SmartBlock.

SmartBlock intelligently fixes up web pages that are broken by our tracking protections, without compromising user privacy.
SmartBlock does this by providing local stand-ins for blocked third-party tracking scripts. These stand-in scripts behave just enough like the original ones to make sure that the website works properly.

Flag for this??


Add option for additional query parameters

Would be great if the config would have a key like authorization_params where we can add any optional parameter the provider expects.
In my example I would like to add ?access_type=offline to the authorizationURL for Google (So that it returns also the refresh token). Having one general authorization_params object would avoid having to add different parameters for each provider manually.
Ideally I would have something like:
export default oauth.googleEventHandler({
	config:{
		authorization_params: {  // Something like this would work perfectly
		    access_type:"offline"
		},
		scope: [
			'https://www.googleapis.com/auth/userinfo.email',
			'https://www.googleapis.com/auth/tasks.readonly' // This is great!
		]
	},
	async onSuccess(event, { user, tokens }) {
		console.log(tokens.refresh_token) // Save this in DB
		await setUserSession(event, { user, loggedInAt: Date.now() })
	  	return sendRedirect(event, '/')
	}
})

From my understanding this is currently impossible, right?

We could add a authorizationQuery object  that could be merged in https://github.com/Atinux/nuxt-auth-utils/blob/c60fde74c1b59311b7eb68b861d459f1a7777814/src/runtime/server/lib/oauth/google.ts#L83-L88
return sendRedirect(
  event,
  withQuery(config.authorizationURL as string, {
    ...config.authorizationQuery,
    response_type: 'code',
    client_id: config.clientId,
    redirect_uri: redirectUrl,
    scope: config.scope.join(' '),
  })
)

Yes that would be great. This way I could simply make authorizationQuery = getQuery(event) and edit the flow depending on the situation.
BTW this module is amazing, so easy to use. I've been fighting with auth.js/nextjs for a year now and I'm amazing how easy this is.
I hope it becomes the official nuxt/auth library soon! It's perfect.

Re-opening since it has not been implemented!
Thanks for the kind words 😊


datastore query.runStream: this.end() crashes

Hi there, I'm using<EMAIL_ADDRESS>and trying to use query.runStream().
When I call this.end() it crashes with this.end is not a function :
var datastore = require('@google-cloud/datastore')({
  projectId: '<my-project-id>'
});

let query = datastore.createQuery( '<my-entity-type>' );

let results = [];

query.runStream()

    .on(
        'error',
        console.error
    )

    .on(
        'data',
        ( entity ) => {
            this.end(); // <- HERE BE CRASH
        }
    )

    .on(
        'info',
        ( info ) => {}
    )

    .on(
        'end',
        () => {
            console.log( results.length );
        }
    );

At first I thought it might be because the this is not accessible inside a Promise, or something to do with babel  translation. So I made the simplest possible test case using only basic ES5 as above, and it still crashes when running directly in node as a separate standalone script:
$ node test.js
[ ... ]/src/test.js:41
                this.end();
                     ^

TypeError: this.end is not a function
    at DestroyableTransform.query.runStream.on.on ([ ... ]/src/test.js:41:22)
    at emitOne (events.js:96:13)
    at DestroyableTransform.emit (events.js:188:7)
    at readableAddChunk ([ ... ]/node_modules/readable-stream/lib/_stream_readable.js:217:18)
    at DestroyableTransform.Readable.push ([ ... ]/node_modules/readable-stream/lib/_stream_readable.js:176:10)
    at DestroyableTransform.Transform.push ([ ... ]/node_modules/readable-stream/lib/_stream_transform.js:123:32)
    at [ ... ]/node_modules/split-array-stream/index.js:15:14
    at Object.async.whilst ([ ... ]/node_modules/split-array-stream/node_modules/async/lib/async.js:792:13)
    at module.exports ([ ... ]/node_modules/split-array-stream/index.js:9:9)
    at onResultSet ([ ... ]/node_modules/@google-cloud/datastore/src/request.js:671:5)

Does this seem like a bug? Or am I doing something wrong? Hope it's just me, as I really need to be able to terminate query streams as early as possible.
Cheers,
Igor

I've been able to reproduce this issue. I'm not sure what the cause is yet, however as a temporary solution, you can use this in your app:
let query = datastore.createQuery( '<my-entity-type>' );

let results = [];

- query.runStream()
+ let stream = query.runStream()

+ stream
    .on(
        'error',
        console.error
    )

    .on(
        'data',
        ( entity ) => {
-            this.end(); // <- HERE BE CRASH
+           stream.end();
        }
    )

    .on(
        'info',
        ( info ) => {}
    )

    .on(
        'end',
        () => {
            console.log( results.length );
        }
    );

Thank you @stephenplusplus, that's a great workaround, and it reads a lot more clearly to me than this anyway.
Appreciate the swift & helpful response 👍

@igorclark @stephenplusplus closing this one.  Please reopen if you think this is premature!

We do need to fix this on our end. It affects all streams, and our documentation where readable streams are returned is incorrect.

Hey guys - I just had a possible brainwave on this. I was back at the node.js Event doc yesterday and noticed this little gem, but didn't relate it back to this issue until I saw the update notification just now:

The eventEmitter.emit() method allows an arbitrary set of arguments to be passed to the listener functions. It is important to keep in mind that when an ordinary listener function is called by the EventEmitter, the standard this keyword is intentionally set to reference the EventEmitter to which the listener is attached.
const myEmitter = new MyEmitter();
myEmitter.on('event', function(a, b) {
 console.log(a, b, this);
 // Prints:
 //   a b MyEmitter {
 //     domain: null,
 //     _events: { event: [Function] },
 //     _eventsCount: 1,
 //     _maxListeners: undefined }
});
myEmitter.emit('event', 'a', 'b');

It is possible to use ES6 Arrow Functions as listeners, however, when doing so, the this keyword will no longer reference the EventEmitter instance:
myEmitter.on('event', (a, b) => {
 console.log(a, b, this);
 // Prints: a b {}
});
myEmitter.emit('event', 'a', 'b');

If it's just that, would a documentation update be enough?
If it's not, of course, move along now, nothing to see here 😉

Your code snippet uses the arrow functions, which does not bind this, so the this will refer to the object outside of the context. It's most likely to be the global context, not the stream.

@jmuk that's what I was thinking! In which case, just mentioning it in the documentation would be plenty, as the client code is doing what it's expected to do, right?

I don't think we need to update our document to mention this specifically -- this is more like a coding quiz of JavaScript language itself, and the mention in the NodeJS's document itself (which you linked) seems sufficient to me.

HI @jmuk, sure, makes sense. I was just thinking that if it was a subtle enough issue that @stephenplusplus and I didn't realise what was happening at first, it might be helpful to just mention it at the runQueryStream doc point, particularly as more and more people will likely want to use ES6 as time goes on. But I can see the argument either way.

Unfortunately, the size of the change to mention this would be huge. I think because of this, let's leave it and revisit this if others stumble over the trickiness.


Fix status of minor edit translation with only one public version

Short description

This PR is to solve the problem that the status of translations with only single public version is broken when the public version is minor edit.
This is a successor of PR https://github.com/digitalfabrik/integreat-cms/pull/1588 .
Proposed changes

If the translation is the first version, save it as major version.
Otherwise, change the past versions to public.
No change in status calculation.

Resolved issues

Fixes: #1464

I think it's better to release the fix of this edge case first.
The get method is large too, so we can probably have an independent issue for refactoring of this view.

Alternatively, we can squash merge here.

I disabled squash merging for this repo because I thought it might be good to use one consistent merging strategy... And squashing the commits manually takes ~30 seconds, so I hope this process doesn't slow down our development process, but obviously this is open for discussion 😅


[PHPStanRules] Add PreferredMethodCallOverIdenticalCompareRule

Fixes #2782

implemented 🎉 rector notice is unrelated. @TomasVotruba it is ready for review.

implemented 🎉 rector notice is unrelated. @TomasVotruba it is ready for review.

Thank you :+1:

Thank you :+1:


[WIP] VirtualMachineScaleSets support for Kubernetes

What this PR does / why we need it:

Adds support for Virtual Machine Scale sets for Kubernetes v1.10 agent pools

Which issue this PR fixes:
fixes #2403
Special notes for your reviewer:
If applicable:

[ ] documentation
[ ] unit tests
[ ] tested backward compatibility (ie. deploy with previous version, upgrade with this branch)

Release note:

cc @feiskyer @JiangtianLi

@sozercan just tried to merge your branch into the latest master and deploy cluster with vmss. It seems that master's cse0 script hangs in loop:
To further debug and diagnose cluster problems, use 'kubectl cluster-info dump'.
+ '[' 1 = 0 ']'
+ sleep 1
+ for i in '{1..600}'
+ /usr/local/bin/kubectl cluster-info
^[[0;32mKubernetes master^[[0m is running at ^[[0;33mhttp://localhost:8080^[[0m

But I'm not sure it's related to this PR. Did I merge it wrong?

I don't really understand why is this documented as supported if there is an open PR. Is that a bug?
https://github.com/Azure/acs-engine/blob/master/docs/clusterdefinition.md#agentpoolprofiles

@todoesverso VMSS is supported for Swarm and DCOS but not for Kubernetes yet (it is added with Kubernetes v1.10)

@sozercan hey! we're trying to test this PR with kubernetes 1.10.0 and cluster autoscaler. We've got a problem with unregistered nodes.
I0410 05:35:30.594811       1 static_autoscaler.go:184] 1 unregistered nodes present
I0410 05:35:30.594853       1 utils.go:330] Removing unregistered node
I0410 05:35:30.594952       1 azure_scale_set.go:273] Deleting vmss instances [%!q(*azure.azureRef=&{})]
E0410 05:35:30.594990       1 azure_scale_set.go:293] getLastSegment failed with error: identifier '/' not found in resource name ""
W0410 05:35:30.595004       1 utils.go:353] Failed to remove node : identifier '/' not found in resource name ""
E0410 05:35:30.595027       1 static_autoscaler.go:191] Failed to remove unregistered nodes: identifier '/' not found in resource name ""

Digging through other issues, I found this
https://github.com/kubernetes/autoscaler/issues/775
Is useInstanceMetadata supposed to be false with VMSS and k8s 1.10.0?

Is useInstanceMetadata supposed to be false with VMSS and k8s 1.10.0?

Yep, this is supported in v1.10. But there are a bug for vmss with autoscaler 1.2.0, the fix is here https://github.com/kubernetes/autoscaler/pull/758. It should be included in v1.2.1.

@feiskyer oh thx! We'll try it with 1.2.1.

@sozercan Thanks for awesome work. LGTM
@JiangtianLi Could you also have a look at this?

Just one more request @sozercan: could you kindly add a validation that requires instanceMetadata to be false for k8s < 1.10.2? (I know that's basically everything now but that will become useful over time.)
Thanks so much for this, looks great!

Is the description for availabilityProfile at https://github.com/Azure/acs-engine/blob/master/docs/clusterdefinition.md#agentpoolprofiles still accurate & relevant?

Supported values are VirtualMachineScaleSets (default) and AvailabilitySet. For Kubernetes clusters before k8s version 1.10, use AvailabilitySet. Otherwise, you should use VirtualMachineScaleSets, unless you need features such as dynamic attached disks

@jackfrancis added validation when using VMSS with k8s v1.10.2
@CecileRobertMichon thanks, updated

@khenidak Sorry I wasn't clear, I meant require imds = false for vmss
I see you did that in a recent commit, thanks @sozercan!


Added a link to the public Jira board

 You should sign our Contributor License Agreement in order to get your pull request merged.

All is well.

All is well.


Use JSDocs instead of typescript

Djelm generates DOM binding code in the djelm_src directory for each Elm program and uses typescript.
This requires an extra node package (typescript) for compiling when really it is not necessary at all. JDdocs gives you the same linting capabilities as typescript other than the fact its a lot more verbose to write and look at.
As Djelm moves to a nodeless architecture using JSDocs removes a whole lot of complexity.

djelm_src directory no longer used. Closing.


Use bold for search highlights

Brings in alphagov/digitalmarketplace-frontend-toolkit#155
To match alphagov/frontend#879

:+1:


Regression test PhET splash screen

Over in https://github.com/phetsims/joist/issues/781 we had to update it so that the black wasn't the background, but instead was a div that was on top of everything else (in z order), hiding the sim etc if anything was shown before the splash screen went away.
The splash screen is the black screen + logo + loading bar that we have a startup.
Basically I want to make sure that all devices are still working as expected.
Here are the links to test on each device:

a PhET branded splash screen
a PhET-iO branded splash screen
a PhET branded splash screen with voicing initially enabled to make sure the toolbar animation doesn't change anything (I don't know why it would have)
PhET-iO Studio
iframe test

In addition to testing a few loads on each device, please make sure to do the following as thoroughly as you see fit.

On IPad and other devices where it applies, rotate the screen while loading to make sure the logo is still centered
Change the window size while loading to make sure the logo is still centered.
If you think of something else, write it down here!

Thanks,
Michael

Platforms:

[ ] MacOS 10.13 Safari
[ ] MacOS 10.13 Chrome
[ ] MacOS 10.14 Safari
[ ] MacOS 10.14 Chrome
[x] MacOS 10.15 Safari
[x] MacOS 10.15 Chrome
[ ] MacOS 11 Safari
[ ] MacOS 11 Chrome
[x] MacOS 12 Safari
[x] MacOS 12 Chrome

[x] Windows 10 Chrome
[x] Windows 10 Firefox
[x] Windows 11 Chrome
[x] Windows 11 Firefox

[ ] iPadOS 13 Safari
[ ] iPadOS 14 Safari
[ ] iPadOS 15 Safari

[ ] ChromeOS

With Win 11 Firefox, the studio loading screen jumps around a bit. @zepumph let me know if you think this needs an issue.

I still see what I originally reported in https://github.com/phetsims/phet-io/issues/1835 with MacOS 12.2.1 and Safari 15.3. (but not chrome).
Steps:

Generate html from Studio
Save and Open with Safari

If you then reload the page, you won't see the flash

If you press 'Preview Sim' from studio, you won't see the flash

Oddly enough, I was able to produce this issue using MacOS 10.15.7 + chrome but not with safari.

https://user-images.githubusercontent.com/87318828/155888454-0db22941-f08b-4d7b-af28-a69fdf33bd28.mp4

RE: https://github.com/phetsims/qa/issues/778#issuecomment-1051349638:
@KatieWoe, I just want to confirm here, this behavior is in the version I gave you, but not in other/published versions?

I looked at https://phet-dev.colorado.edu/html/natural-selection/1.4.3/phet-io/wrappers/studio/ and saw it there, but not quite as often.

QA is done

but not quite as often.

Ok thanks! The fact that it still occurs there makes me feel alright about it. Looks like everything else is in side issues. I'm going to close this.


chore(main): release 1.0.0

:robot: I have created a release beep boop
1.0.0 (2024-12-20)
Features

port python to go (bfd32d7)

This PR was generated with Release Please. See documentation.

:robot: Created releases:

v1.0.0
:sunflower:


feat(costmodels): markup is optional on creating cost model

closes #1159
This patch sets a default value to Markup and adds "(optional)" to the title of the step.
By doing so the user is no longer forced to specify Markup unless he/she needs to.

Codecov Report

Merging #1195 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master    #1195   +/-   ##
=======================================
  Coverage   74.93%   74.93%
=======================================
  Files         229      229
  Lines        4465     4465
  Branches      860      860
=======================================
  Hits         3346     3346
  Misses       1002     1002
  Partials      117      117

Continue to review full report at Codecov.

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


[WIP] Move background jobs from bl

I realize that I should separate all Quartz-related components into a separate project. However, some services still rely heavily on specific constants, and I’m uncertain about the best approach to address this issue.

(Test coverage) Are there any expectations about unit tests covering code moved in this PR?

(Test coverage) Are there any expectations about unit tests covering code moved in this PR?

I can add tests for the background jobs that have been moved. These tests would primarily check whether the jobs call a method from the service, as most of the jobs do exactly that.
Additionally, I can add tests for the correct functioning of Dependency Injection Extensions, which should also be moved alongside the jobs.

(Test coverage) Are there any expectations about unit tests covering code moved in this PR?

I can add tests for the background jobs that have been moved. These tests would primarily check whether the jobs call a method from the service, as most of the jobs do exactly that.
Additionally, I can add tests for the correct functioning of Dependency Injection Extensions, which should also be moved alongside the jobs.

@VadymLevkovskyi Sorry, but I’m unsure how to correctly test these DI extensions. The issue lies in mocking IServiceCollectionQuartzConfigurator because I can’t directly set up extension methods :(
using System;
using Microsoft.Extensions.DependencyInjection;
using Moq;
using NUnit.Framework;
using OutOfSchool.BackgroundJobs.Config;
using OutOfSchool.BackgroundJobs.Extensions.Startup;
using Quartz;

namespace OutOfSchool.WebApi.Tests.QuartzJobs.Extensions.Startup;

[TestFixture]
public class ApplicationStatusChangingExtensionsTests
{
    [Test]
    public void AddApplicationStatusChanging_WhenServiceCollectionIsNull_ThrowsArgumentNullException()
    {
        // Arrange
        var quartzMock = new Mock<IServiceCollectionQuartzConfigurator>();

        // Act & Assert
        Assert.Throws<ArgumentNullException>(() => quartzMock.Object.AddApplicationStatusChanging(services: null, quartzConfig: new QuartzConfig()));
    }

    [Test]
    public void AddApplicationStatusChanging_WhenQuartzConfigIsNull_ThrowsArgumentNullException()
    {
        // Arrange
        var quartzMock = new Mock<IServiceCollectionQuartzConfigurator>();

        // Act & Assert
        Assert.Throws<ArgumentNullException>(() => quartzMock.Object.AddApplicationStatusChanging(services: new ServiceCollection(), quartzConfig: null));
    }
}

@VadymLevkovskyi And one more question - what if I move QuartzExtensions and QuartzConnectionOptions classes from BackgroundJobs and AuthorizationServer projects into Common project? These classes are identical, so this change can remove code duplications.

@VadymLevkovskyi And one more question - what if I move QuartzExtensions and QuartzConnectionOptions classes from BackgroundJobs and AuthorizationServer projects into Common project? These classes are identical, so this change can remove code duplications.

If I remember correctly "architecture" diagram we have in other PR (see below) - Common is the lowest-level module. Suggested move means that the whole project will be aware about Quartz and latter could be tightly coupled with all new code. Thus, if possible, I'd highly recommend to avoid this move, because the scheduling part is not the core of our application.
As for me, the DI registration part and Quartz scheduling is more related to an infrastructure/presentation level (in terms of onion architecture), or for our layered approach - something sitting on top of the BusinessLogic
Diagram taken from #1447 :

(Test coverage) Are there any expectations about unit tests covering code moved in this PR?

I can add tests ...

@VadymLevkovskyi Sorry, but I’m unsure how to correctly test these DI extensions. The issue lies in mocking IServiceCollectionQuartzConfigurator because I can’t directly set up extension methods :(

Thanks for uncovering this nuance.
Seems direct mock of IServiceCollectionQuartzConfigurator is really untestable - funny enough that Quartz library authors know it b/c thay have got same issue - reflected in unit-test comment.
So we could use same approach:
    [Test]
    public async Task AddApplicationStatusChanging_WhenQuartzConfigIsNull_ThrowsArgumentNullException()
    {
        // Arrange
        var servicesRegistering = new ServiceCollection();

        // Act && Assert
        Assert.Throws<ArgumentNullException>(() => servicesRegistering.AddQuartz(q => q.AddApplicationStatusChanging(null)));
    }

    [Test]
    public async Task AddApplicationStatusChanging_WhenQuartzConfigIsOk_JobIsRegistered()
    {
        // Arrange
        var servicesRegistering = new ServiceCollection();
        servicesRegistering.AddSingleton<ILoggerFactory>(new LoggerFactory());
        var quartzConfig = new QuartzConfig()
        {
            CronSchedules = new QuartzCronScheduleConfig()
            {
                ApplicationStatusChangingCronScheduleString = "0 0 0 1 OCT ? *",
            },
        };

        // Act
        servicesRegistering.AddQuartz(q => q.AddApplicationStatusChanging(quartzConfig));
        using var services = servicesRegistering.BuildServiceProvider();

        // Assert
        var scheduler = await services.GetRequiredService<ISchedulerFactory>().GetScheduler();
        Assert.IsNotNull(await scheduler.CheckExists(new JobKey(JobConstants.ApplicationStatusChanging, GroupConstants.ApplicationStatusChange)));
    }

@VadymLevkovskyi And one more question - what if I move QuartzExtensions and QuartzConnectionOptions classes from BackgroundJobs and AuthorizationServer projects into Common project? These classes are identical, so this change can remove code duplications.

If I remember correctly "architecture" diagram we have in other PR (see below) - Common is the lowest-level module. Suggested move means that the whole project will be aware about Quartz and latter could be tightly coupled with all new code. Thus, if possible, I'd highly recommend to avoid this move, because the scheduling part is not the core of our application.
As for me, the DI registration part and Quartz scheduling is more related to an infrastructure/presentation level (in terms of onion architecture), or for our layered approach - something sitting on top of the BusinessLogic
Diagram taken from #1447 :

I absolutely agree that DI registration should live in the infrastructure layer. However, since we lack a separate infrastructure layer, perhaps for this solution (to avoid significant architectural changes in this PR), it would be better to leave it as is or create a new layer (eg OoS.BackgroundJobs.Core) which would represent background job related core functionality.

(Test coverage) Are there any expectations about unit tests covering code moved in this PR?

I can add tests ...

@VadymLevkovskyi Sorry, but I’m unsure how to correctly test these DI extensions. The issue lies in mocking IServiceCollectionQuartzConfigurator because I can’t directly set up extension methods :(

Thanks for uncovering this nuance.
Seems direct mock of IServiceCollectionQuartzConfigurator is really untestable - funny enough that Quartz library authors know it b/c thay have got same issue - reflected in unit-test comment.
So we could use same approach:
    [Test]
    public async Task AddApplicationStatusChanging_WhenQuartzConfigIsNull_ThrowsArgumentNullException()
    {
        // Arrange
        var servicesRegistering = new ServiceCollection();

        // Act && Assert
        Assert.Throws<ArgumentNullException>(() => servicesRegistering.AddQuartz(q => q.AddApplicationStatusChanging(null)));
    }

    [Test]
    public async Task AddApplicationStatusChanging_WhenQuartzConfigIsOk_JobIsRegistered()
    {
        // Arrange
        var servicesRegistering = new ServiceCollection();
        servicesRegistering.AddSingleton<ILoggerFactory>(new LoggerFactory());
        var quartzConfig = new QuartzConfig()
        {
            CronSchedules = new QuartzCronScheduleConfig()
            {
                ApplicationStatusChangingCronScheduleString = "0 0 0 1 OCT ? *",
            },
        };

        // Act
        servicesRegistering.AddQuartz(q => q.AddApplicationStatusChanging(quartzConfig));
        using var services = servicesRegistering.BuildServiceProvider();

        // Assert
        var scheduler = await services.GetRequiredService<ISchedulerFactory>().GetScheduler();
        Assert.IsTrue(await scheduler.CheckExists(new JobKey(JobConstants.ApplicationStatusChanging, GroupConstants.ApplicationStatusChange)));
    }

Thank you very much, it was really helpful!

@VadymLevkovskyi And one more question - what if I move QuartzExtensions and QuartzConnectionOptions classes from BackgroundJobs and AuthorizationServer projects into Common project? ...

... if possible, I'd highly recommend to avoid this move, because the scheduling part is not the core of our application. ... is more related to an infrastructure/presentation level ...

I absolutely agree that DI registration should live in the infrastructure layer. However, since we lack a separate infrastructure layer, perhaps for this solution (to avoid significant architectural changes in this PR), it would be better to leave it as is or create a new layer (eg OoS.BackgroundJobs.Core) which would represent background job related core functionality.

Either is good.
Creation of OoS.BackgroundJobs.Core is more fine-grained approach (so you could better maintain dependencies to different Quartz implementation details from Auth and WebApi projects), but as it requires more efforts I'd extract this task into separate PR.

Please make Sonar happy. Coverage is fine, but there is at least one issue that could be addressed in this PR.


Incorrect and inconsistent text-editor highlighting for C# List across all color themes.

VSCode Version: 1.0.0
OS Version: Windows 10

Steps to Reproduce:

Add the following code to a C# class:
 public void DoSomething(List<int> list)
 {
     var newList = new List<int>();
 }

List<int> as a parameter has no type highlighting.
As a variable only int has the correct type highlighting.
This is inconsistent with any other specified type.
See screenshot of Visual Studio 2015 Community for comparison.

I've posted this to https://github.com/OmniSharp instead.


Debug Log: allow disabling of timestamp

When you're logging the output through any modern logging
system (syslog, journalctl, ...) a timestamp is prepended anyway.
There's no point in adding a second timestamp.
Let's make that configurable using an ENV variable.
Closes #38

dev_block 👍  merge conflicts

un_dev_block 👍  Rebased and fixed the merge conflicts.
QA 👍
▶  NO_TIMESTAMP=1 DEBUG=* bin/refresh-issue {user}/{repo} 7345 2>&1 | head
pulldasher:refresh refresh issue 7345 +0ms
pulldasher:github Getting issue 7345 +2ms
pulldasher:rate-limit Response received, requests remaining: 4989 reset at:<PHONE_NUMBER> +256ms

Fixed a code style issue. QA 👍

CR :zap:

CR :moon:

Should we merge?


Support compensation events in C8

Supports https://github.com/camunda/product-hub/issues/219.
What should we do?
In C8 BPMN editor:

[ ] As a Developer I can use intermediate throw compensation events
[ ] As a Developer I can use compensation end events
[ ] As a Developer I can use compensation boundary events

This will need to be implemented via linting rules.
Only the green compensation activities should be supported:

Why should we do it?
Child of https://github.com/camunda/product-hub/issues/219
EDIT: Updated the supported compensation handlers based on the current implementation status in Camunda 8.

This will wait in backlog until the linked epic is ready.

As a goody (and supporting this effort) we significantly improved compensation modeling in<EMAIL_ADDRESS>to be shipped with Camunda Modeler v5.19.0.

I updated the issue with the recent change of scope on the engine side reported in the epic.

Since 8.4 is out today, we can pick up this item in the upcoming iterations.

Pushed to next time, depending on our capacity.

I updated this to not include compensation start events as compensation event subprocess support is not planned for the upcoming release.

@barmac I updated the issue description based on the current implementation status in Camunda 8.
The following elements were out of scope but will be supported for 8.5 as compensation activities: :sparkles:

Embedded subprocess (ref)
Call activity (ref)
Multi-instance (ref)

We will also support the triggering of compensation for given activities (ref). On a compensation throw event, a user can optionally define the activity to compensate via the activityRef attribute. The activity must be in the same scope as the compensation throw event. This works already in the Modeler. :heavy_check_mark:
Currently, a user can disable the Wait for completion option on a compensation throw event. For Camunda 8.5, we will not support this option. We support only the case that the compensation throw event waits for the completion. In the modeler, we may want to remove this option or define a limiting rule for it. :x:

Does implementing Compensation Receive Task even make sense? The spec allows this but I can't really think of a use case for "this activity needs to be compensated, but wait for a message first".

On the other hand, I can have a compensation subprocess with message catch inside too.

@barmac I updated the description to remove the restriction for compensation handlers. We now allow all kinds of activities to have a compensation boundary event and be attached to a compensation boundary event as a compensation handler. No special linting rules are required for the activity type.
So, we have the following restrictions for version 8.5:

No compensation start events
A compensation throw event must have Wait for completion set to true

I think that since no compensation events are allowed pre-8.5, and all compensation activities are allowed from 8.5 onwards, we don't need validation for compensation activities specifically. They are not marked as disallowed right now, so no changes here required. WDYT?

The logic here is that the event is marked as not allowed, and as soon as you remove it, the activity stops to be an unsupported compensation activity. So the state where compensation activity is the only disallowed element is impossible to reach within normal modeling.

I kept a backup of the rule but removed it from the PR.

So after this PR is merged, we only need to update the camunda/linting project to have human-readable error messages and properties panel support.

This will be done with https://github.com/camunda/linting/pull/103 merged, released, and integrated.


Ginso Arena Doors Softlock

The doors on either side of the arena in the Ginso tree are not acting as expected

Im fairly sure this happens if you don't cross over from the Spirit Well to the door before killing the mini boss. Inceracting with the door closing trigger before the fight should make the room work as intended.

Fixed in version 0.1.3


chore(doc): fix readme issues

PR summary
Address feedback from Phil Adams to correct the module and import table. Also fix up the TOC and add some extra python shields
PR Checklist
Please make sure that your PR fulfills the following requirements:

[x] The commit message follows the Angular Commit Message Guidelines.
[ ] Tests for the changes have been added (for bug fixes / features)
[ ] Docs have been added / updated (for bug fixes / features)

PR Type

[ ] Bugfix
[ ] Feature
[ ] Code style update (formatting, local variables)
[ ] Refactoring (no functional changes, no api changes)
[ ] New tests
[ ] Build/CI related changes
[x] Documentation content changes
[ ] Other (please describe)

:tada: This PR is included in version 0.3.7 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Effort.EF6 not respecting DatabaseGeneratedOption.None

Description
I have a Entity class with the Key column attribute. As per entity framework default behavior for the key column is DatabaseGenerated = DatabaseGeneratedOption.None.
But Effort.EF6 is auto incrementing the column value and ignoring the value assigned by me.
Exception
It should not generate the value for Key column and should respect the assigned value.
Exception message:
Foreign key violation [dbo_DependantEntities :: MainEntityId]. The key value [101] does not exists in the referenced table [dbo_MainEntities :: MainEntityId].. Error code: RelationError

```text
Stack trace:
System.Data.Entity.Infrastructure.DbUpdateException
  HResult=0x80131501
  Message=An error occurred while updating the entries. See the inner exception for details.
  Source=EntityFramework
  StackTrace:
   at System.Data.Entity.Internal.InternalContext.SaveChanges()
   at System.Data.Entity.Internal.LazyInternalContext.SaveChanges()
   at System.Data.Entity.DbContext.SaveChanges()
   at ConsoleApp1.InMemoryDbInitializer.SeedAllData(MyDbContext context) in C:\Users\BNYMELLON\source\repos\ConsoleApp1\ConsoleApp1\Program.cs:line 51
   at ConsoleApp1.InMemoryDbInitializer.Init(MyDbContext context) in C:\Users\BNYMELLON\source\repos\ConsoleApp1\ConsoleApp1\Program.cs:line 25
   at ConsoleApp1.Program.Main(String[] args) in C:\Users\BNYMELLON\source\repos\ConsoleApp1\ConsoleApp1\Program.cs:line 16

Inner Exception 1:
UpdateException: An error occurred while updating the entries. See the inner exception for details.

Inner Exception 2:
TargetInvocationException: Exception has been thrown by the target of an invocation.

Inner Exception 3:
ForeignKeyViolationException: Foreign key violation [dbo_DependantEntities :: MainEntityId]. The key value [101] does not exists in the referenced table [dbo_MainEntities :: MainEntityId].. Error code: RelationError

Project
Provide a project/solution that we can run to reproduce the issue.

Make sure the project compile
Make sure to provide only the code that is required to reproduce the issue, not the whole project
You can send private code here<EMAIL_ADDRESS>
Note: If you are not able to provide code we can run and that reproduce the issue, we will not be able to fix it either.
Further technical details

EF version:6.0
EF Effort version: 2.1.0
Database Provider:SqlServer
ConsoleApp1.zip

Hello @RobinhoodBnym ,
Thank you for reporting, we will look at this.
Best Regards,
Jonathan

Performance Libraries
context.BulkInsert(list, options => options.BatchSize = 1000);
Entity Framework Extensions • Entity Framework Classic • Bulk Operations •  Dapper Plus
Runtime Evaluation
Eval.Execute("x + y", new {x = 1, y = 2}); // return 3
C# Eval Function • SQL Eval Function


Added a cache mixin.

Borrowed from https://bitbucket.org/nextscreenlabs/django-viewclass-mixins/
Licenses are compatitable (both BSD-3).

Any updates on this, @omerzimp ?

Closing this since it's 7 years old!


Show link report to a file description

That would be nice to have a direct link that can be copied on a file result description. Something like "Link to this page" with a tooltip "Click to copy this link" !
With love,  :)

closed by dafe1e7


Prioritise AMD module definition

In environments like electron, module['exports'] could also be available, when the website code is using AMD. Previous module definition code was preventing dialog polyfill from being defined as an AMD module in electron since it was cheking CJS module availability first, this PR prioritises AMD definition.

I signed it!

LGTM


Ending a game

What Issue Are You Seeing or What Feature Needs To Be Added?

[ ] Add post request that writes update of award to database
[x] Make template for end of game
[x] Write get for redirect to end of game
[x] with Next game button.

Are There Any Links That Would Be Helpful?

I had to manually add some data to the local db.


Cannot connect to discord/hangs after ‘/discord connect’

Steps taken:
Using the AUR version of weechat, weechat-discord-git
/discord token [my token]
/discord connect

same issue for me , weechat just hangs

Same for me as well on a 2024 acc.
Oddly I was able to connect the first time, but then my token changed and I'm unable to connect since then (even with the new token). Tried an old alt of mine from 2020 and it still doesn't work.


Support for Nanoleaf Canvas ( switch on and off )

The switching off ( and on ) of the "new" Canvas panels does not work.
To solve this I added operation = {"value":true}; and operation = {"value":false}; to the power.js file as described in the API documentation. ( http://forum.nanoleaf.me/docs/openapi §5.3.1 )

Hi, thanks for the bug report. I've not got a canvas so I've been unable to check, but you are perfectly correct as far as the API goes. Perhaps they've gotten stricter?
Anyway, I've patched the files, just going to ensure that my Auroras work and I'll push the change ASAP.
Thanks again for taking the time to report the issue (having to create a github account and everything!), it really is appreciated.

Pushed version 0.1.1 to npm. It takes a little while for Node-Red to detect the package changes sometimes, best give it a few hours.

Thank you also for your quick response :-)
Was a bit of a search and experiment to get this on of thing to work, so am happy to save others this effort.
If I read following post on the nanoleaf forum, https://forum.nanoleaf.me/forum/aurora-open-api/difference-between-canvas-and-aurora-api,  I am not sure if they got stricter or finding there "merge" problems between the Aurora and Canvas branch...

Well spotted. If there's anything else not working/you need for the Canvas, please do reach out.

Updated to your version, works like a charm (for the moment ;-) )


Analytics module bug on error pages

On 404 pages (using layouts/error.vue) I'm seeing the following in the console:
vue-router.esm.js:1832 TypeError: Cannot read property 'components' of undefined
    at i (google-analytics.plugin.76c7bae6.js:33)
    at google-analytics.plugin.76c7bae6.js:20
    at vue-router.esm.js:1926
    at Array.forEach (<anonymous>)
    at e.te.updateRoute (vue-router.esm.js:1925)
    at vue-router.esm.js:1802
    at vue-router.esm.js:1911
    at r (vue-router.esm.js:1649)
    at at (vue-router.esm.js:1660)
    at vue-router.esm.js:1906

Thanks, @robyedlin for the report. We will try to investigate this issue soon.

No problem. Thanks for looking into it @pi0

Hey @pi0, any luck on this? I know you are super busy with 1.0. No rush.

@pi0 What's the status of this module, is it production ready?
Thanks for info!

Any update @pi0

Fixed with 2.0.2. Thanks @pi0


Reintroduce image scanning for openSUSE and SLE

As promised inside of https://github.com/coreos/clair/pull/503... handle scanning of openSUSE and SUSE Linux Enterprise images.
The unit tests are passing but I wasn't able to test the code against real images because neither clair-scanner nor reg work against master's new API. Suggestions about how to test the changes are welcome 😃

@jzelinskie I've update the code with the changes you proposed. Take a look at the changes I made and gimme the final green light for the rebase.

I don't want this to hang any longer. Rebase away!

I don't want this to hang any longer. Rebase away!

@jzelinskie done!

I did another forced push to address the style check errors reported by goftm.

Hi Guys, any forecast when this feature will be available?

Sorry for the silence around the holidays. This code all looks fine. I think all this PR needs is to add OpenSUSE to the documentation in a few places. Most importantly here: https://github.com/coreos/clair/blob/master/Documentation/drivers-and-data-sources.md#data-sources-for-the-built-in-drivers


update allowances for aria-* attributes on datalist element

ARIA in HTML is updating the datalist element to no longer allow any aria-* attributes.
In reality specifying global aria-* attributes, or attributes which can be used with the implicit listbox role have no actual impact on the element or its child options. Due to this, while there appears to be no negative impact for users to specify ARIA attributes on the element, allowing authors to do so also serves no benefit, and this should be called out to them.
test case

Hi @scottaohara, I added a rule to give a warning if global aria attributes or native 'listitem' aria attributes are provided on a 'datalist' element.

Hi @scottaohara, yes, all the tests stop after finding an error. It was done to prevent compound errors, as the results become overly verbose.

gotcha.  do you think the message could indicate that there may be additional attributes to correct for?   Otherwise, it might appear to someone that just the first attribute is in error, and then if they fix that they'd be good to go.

Thanks, @scottaohara, that's a good idea. I've added a generic message that there may be more issues with the element.


Nmap output f*cks up..

Looks like my nmap output is going wrong.. could you give the right example cmd voor nmap with all (brutespray) supported services? I'm probily messing it up 😀 Thanks for the nice work!

It automatically pics out supported services. Thanks!

Then something is wrong with my output file.. what would be the right nmap command with the right output argument?

-oA and either using the gnmap or xml

-oA and either using the gnmap or xml

nmap -sn <IP_ADDRESS>/24 -oA -oX nmap.xml should be right?

Take out the -oX and extension of the file name and you should be good


AirPlay Icon on Top Left of the Application

Hello,
when I execute the function setVolume on iOS, in the Top Left of my application show up an AirPlay Icon white that i can't remove. What can i do to fix this problem?

That is very weird. Which iOS Version?

I also have noticed this too

@hirbod I added a potential fix on my local project which seemed to work but I've been unable to test the example project on a device due to signing issues and I don't think this issue appears on the sim.
An initial fix I tried was explicitly hiding the route button (https://developer.apple.com/documentation/mediaplayer/mpvolumeview/1620075-showsroutebutton) but that method is deprecated it hid the AirPlay icon but seemed to show another random circle icon (image attached). I could hide this with showsVolumeSlider but this broke the showNativeUI functionality.
The fix that seems to work fine is adding volumeView.transform = CGAffineTransformMakeScale(0.1, 0.1);, after the view is initialized, to scale down the icons. I think it would just need testing on the example app on a real device to make sure it works as expected but not too sure how to deal with the signing error.
No profiles for 'com.hirbod.rnvme' were found. Xcode couldn't find any iOS App Development provisioning profiles matching 'com.hirbod.rnvme'.

@Sewb21 you'll need to open the example in XCode and change that value. I'll optimize the example soon.
I'll have a look at the issue this weekend.

I have found a proper fix for this. Will release in an hour

Version 1.3.0 has been released. This issue is resolved now.


Delete profile/README.md

I am new, error.

Commit

Commit
Get Outlook for iOShttps://aka.ms/o0ukef

From: Jose Ivan @.>
Sent: Sunday, April 21, 2024 11:12:39 AM
To: J-D-DISPATCH-365/.github @.>
Cc: JOSE IVAN HERNANDEZ @.>; Your activity @.>
Subject: Re: [J-D-DISPATCH-365/.github] Delete profile/README.md (PR #3)
@JoseIvanHernandez commented on this pull request.
Commit
—
Reply to this email directly, view it on GitHubhttps://github.com/J-D-DISPATCH-365/.github/pull/3#pullrequestreview-2013491899, or unsubscribehttps://github.com/notifications/unsubscribe-auth/A6YAXP5NFXZBNEG22P6HTQ3Y6P6RPAVCNFSM6AAAAAA7XHJWUWVHI2DSMVQWIX3LMV43YUDVNRWFEZLROVSXG5CSMV3GSZLXHMZDAMJTGQ4TCOBZHE.
You are receiving this because you are subscribed to this thread.Message ID: @.***>


feat(preset-uno): add animate to animation

Initial implementation, we need to change the default values to be included from user land.
I have updated pnpm to 6.20.4 and node to 16.12.0 and running pnpm install the lock file is updated.
The PR is on draft until we decide how to configure the animations: the bounce and pulse are the old ones, you have both from windicss plugin commented out from the keyframes object.
closes #89

We could use the new ones I thinjk

I have remove the animation stuff and configure defaults to add the infinite count and the dureation to 1s.
This change can make the animation to not work on client side if cached.

I forgot to ask if we need to include keyframes browser variants, and also animation stuff on each keyframes' animations. If so, we only need to modify the script on linked issue to rebuild the keyframes to include browser ones and update them.

'bounce-in-up': '@keyframes bounce-in-up {from, 60%, 75%, 90%, to {animation-timing-function:cubic-bezier(0.215,0.61,0.355,1);} 0% {opacity:0; transform:translate3d(0,3000px,0);} 60% {opacity:1; transform:translate3d(0,-20px,0);} 75% {transform:translate3d(0,10px,0);} 90% {transform:translate3d(0,-5px,0);} to {transform:translate3d(0,0,0);}}',

why is '3000px'  ?

why is '3000px' ?

Animations were extracted from WindiCSS plugins: https://github.com/windicss/plugins/blob/main/packages/animations/animate/keyframes/bounceIn.js
Check the original issue: https://github.com/unocss/unocss/issues/89


Suggestion: Add support for different musicplayer software (squeezeplayer + LMS) /OS (picoreplayer)

Dear Ladies and Gentlemen,
First: Thanks at all and especially @MiczFlor for this nice peace of software, which my kids and me love to use!
I want to make a suggestion:
Switch the player software to squeezeplayer and logitechmediaserver.
Only makes sense for a non "classic" Version of Phoniebox  because of the long booting time needed for the logitech media server (comparable to the booting time of Phonibox Spotify Version)
Why:

Support of different streaming services like spotify, web radio (just search inside the server for the radio channel, no search for correct stream address), youtube, podcasts, and many more (Tidal, Spotify (including Spotify Connect), Deezer, Qobuz, UPnP, Chromecast and Airplay speakers/players. You can stream from an iPhone using Shairtunes. It s even possible to integrate a cd-rom for playing or ripping.

Multi-room possibility

Very good control apps

And perhaps the most interesting point:

There exists an OS only for Squeezeplayer : picoreplayer (for raspis) which runs completely in Ram--> no more corrupted sd cards because of hard shutdowns (just cutting power cord).
--> Problems like different soundcards, Mono or stereo, wifi, buttons, rotary commanders, displays,
bluetooth and even the shutdown problem are solved or at least discussed because there exists a
very good community.

ok, because the os is perfectly adapted to only running the player and the server, it is perhaps not that easy to adapt the phonibox scripts (webapp?)  and all its dependencies...
I know, that would be some work but perhaps worth the effort? I am using squeezeplayer lite and picoreplayer systems since many years, and i would love if the musicboxes of my kids would integrate into that ecosystem.
Greetings and have nice holidays!
cubertt

Hi @cubertt
thanks for the suggestion, I have to take a look at the software you recommend. A few months back we replaced VLS with MPD and even though it was the same OS, it turned out to be an ongoing issue. Nothing is as easy as it seems. I will give it a shot when I find the time.
All the best, micz


⚠ Empornium has degraded performance

In 2b5aa2a, Empornium ($EMP) experienced degraded performance:

HTTP code: 500
Response time: 1334 ms

Resolved: Empornium performance has improved in c1cdf1a after 1 hour, 12 minutes.


Imprv: /admin/users

TODO

[x] Arrange table layout
[x] Show last logged in date

fixed by #136, #138


Allow encode_categorical_variables() to use the svec type.

Instead of the array.

Thank you for the PR.
It seems you would like to always output an svec for this function?  i.e., not support regular array output?  This seems overly restrictive.
Most MADlib functions that would use the output from encode_categorical_variables (e.g., regression) accept array inputs but not necessarily svec inputs).
If we would like to support svec, I would suggest we would need to change the array_output param from BOOLEAN to multi-valued (no array, array, svec) to support the intent of this PR.
array_output (optional)
BOOLEAN. default: FALSE. This parameter controls the output format of the indicator variables. If FALSE, a column is created for each indicator variable. PostgreSQL limits the number of columns in a table. If the total number of indicator columns exceeds the limit, then make this parameter TRUE to combine the indicator columns into an array. The order of the array is the same as specified in 'categorical_cols'. A dictionary will be created when 'array_output' is TRUE to define an index into the array. The dictionary table will be given the name of the 'output_table' appended by '_dictionary'.

Thanks for the review.

If we would like to support svec, I would suggest we would need to change the array_output param from BOOLEAN to multi-valued (no array, array, svec) to support the intent of this PR.

Yes, it would be better to make array_output for multi-values.
I will try some modification to allow column (default), array and svec with changing the param name from array_output to output_type.

Yes that sounds good.   So output_type will be text I assume.

Thanks, Satoshi (@snaga).
The changes look good - I merged this and updated the docs to reflect the new parameter.


Add Tact compiler installation instructions

It would be nice for the docs to be self-contained

Perhaps so. Although it would also be nice to eventually introduce a "Set up your environment" page or something like that early in the docs, right after the starting page and on top of the Book.
Inspiration:

https://docs.deno.com/runtime/manual/getting_started/first_steps#configure-your-ide, which points to ->
https://docs.deno.com/runtime/manual/getting_started/setup_your_environment

I like the idea of adding this kind of stuff to the docs!
There is a related issue already: https://github.com/tact-lang/tact-docs/issues/47


Support URI Resolution Scope Alteration compatible with JSON Schema

Thanks for the great library. I use json-refs in conjunction with angular-schema-form as suggested here: https://github.com/Textalk/angular-schema-form/issues/118#issuecomment-61515552
I'd like to suggest a new feature to enhance support of JSON Reference as it is used in JSON Schema.
JSON Schema extends JSON Reference with alteration of URI resolution scope by reserving "id" keyword for the purpose:
http://json-schema.org/latest/json-schema-core.html#anchor25
I would love to see this implemented as an option.
e.g. JsonRefs.withUriResolutionScopeAlteration({"idField":"id"}).resolveRefs(json, done)
I found URI Resolution Scope Alteration would also be useful for my own purpose when embedding nested resources.

I'm not sure it's possible to handle this without some extra work.  JSON References are not adhering to the JSON Reference or even JSON Pointer specifications.  If you have a reference with an id in it, based on JSON References you're accessing a relative, external document.  So to support this, I'd first have to check against all ids and then check against the relative location, or vice versa.  Either way, this is a JSON Schema feature and not one specific to JSON References or JSON Pointers so I think I'm going to have to punt on this.
Feel free to continue the discussion and maybe we can come up with something.

I'm not 100% against doing this.  I'm reopening but no guarantee on when it will be done.

id is still usable for determining base paths, even if inline referencing is not used (i.e., canonical referencing is still supposed to treat "id" in a special way)... Perhaps this ties into issue #76

It's not related to #76.  #76 is a short sided issue caused by testing relying on it.  I'll fix that.  As for inline referencing, I don't see anywhere in the JSON References specification where id is mentioned so without inline referencing support, I don't think id has any special meaning.

See http://json-schema.org/latest/json-schema-core.html#rfc.section.7.2 where "id" is defined as altering resolution scope. Note also that as per 7.2.3, this is not only for inline dereferencing but also for canonical dereferencing.

That's a JSON Schema construct, not a JSON Reference construct.  Nowhere in the JSON Pointer or JSON Reference specifications do they mention JSON Schema.  Since this request is for a JSON Schema specific feature, I wonder if it makes sense in this library.  I'm not saying nothing can be done, I just need to think about it a little more.

Oh, sorry... (You have to forgive me that the "brain fog" that comes with my chronic fatigue can sometimes cause me to overlook some very obvious things.)

No, you're not in the wrong.  I blame Swagger.  :)  Swagger is it's own thing with cherry picked parts of JSON Schema, JSON Pointers and JSON References sprinkled together.  It's very confusing.  I need to figure out what, if anything, I should do about it.

Well, I should know better, as I'm not using Swagger myself, so no real reason to confuse things there. Surprising JSON references doesn't have such an ID mechanism...

My bad for assuming.  Any who, don't sweat it.  I just need to do a little more digging.


fastcdr: 1.0.20-1 in 'rolling/distribution.yaml' [bloom]

Increasing version of package(s) in repository fastcdr to 1.0.20-1:

upstream repository: https://github.com/eProsima/Fast-CDR.git
release repository: https://github.com/ros2-gbp/fastcdr-release.git
distro file: rolling/distribution.yaml
bloom version: 0.10.2
previous version for package: 1.0.13-2

Please hold for a coordinated merge with Fast-RTPS...


Add repository dispatch

I think this should work.

Once it's merged I can test it using the manual workflow


Improved error reporting and includes for EJS templates

This PR improves the usability of EJS templates with Sourcery.
Error reporting
Errors are now correctly reported and show up in generated code like this:
// Error parsing template.js:3
// Can't find variable: something

or this:
// Error compiling/rendering EJS template
// Could not find matching close tag for "<%-".

This is extremely more helpful than the current situation: if an error occurs, the template just results in "undefined".
Includes
EJS templates can include other EJS templates using <%- include('myTemplate.js') %>. I implemented the EJS IncludeCallback to facilitate this. Templates are loaded relative to the parent template as stated in the EJS documentation.
Supplying local variables / custom context to templates is also supported: include('myTemplate.js', {type: myType})

Thanks for contribution @Obbut ! Don't forget also to update guide on JavaScript templates (guides/Writing templates.md) and regenerate docs (with jazzy --clean) 📖

Thanks, I'll update the PR with your feedback 🙂

I made a few changes:

added a test
updated the docs
moved to an exception handler on the JSContext
included templates now inherit the parent context, which I think makes sense in the context where Sourcery is used

Errors do currently not get reported in watch mode, but I'll open a separate issue and/or PR for that as it's not related to just EJS.

@Obbut I'm already working on logging improvements in #239 btw

Btw, now we're on the subject of EJS templates, currently templates with the js extension are parsed as EJS templates. However, most (not Sourcery related) templates I see online have the ejs extension. Maybe it's an idea to support that as well?

@Obbut good point, we should use ejsextension. We can support both of them, but personally I'm ok with doing a breaking change and requiring ejs extension from now on. @krzysztofzablocki ?

breaking change is fine if its more aligned with the industry standards, at least before we finally mark it up 1.0, .ejs 👍

@Obbut do you plan to make the changes to file extension?

@ilyapuchka I've been a bit busy with other things over the last few days, sorry. I'm on it now 🙂

I changed the file extension to "ejs", and includes without an extension now also work: include('Equality') includes Equality.ejs
Is there anything else I should change/update before the PR can be merged?

Looks good, lets solve the merge conflicts (I've already added error reporting in #90) and merge this 🎉

One thing I just noticed: when running Sourcery in watch mode, it doesn't update when a change occurs in an included template. However, I don't know how the watcher works and if this would be easy to solve?

I also just noticed that the behaviour of including a template from an included template in a different folder isn't according to the spec currently - they should be relative from the template that includes the include, but currently they are relative from the parent template (with the first include).
If we can wait a bit longer before merging the PR, I'll fix it 🙂

Alright, I've updated the PR again. Do I need to resolve the conflicts?

I can resolve them if you ok with that. Thanks for your work 👍

@Obbut watcher will look at file changes in the folders that you specify as templates or source and react to their changes, right now the requirement are that the files that changes are either template file or swift file, its here:
https://github.com/krzysztofzablocki/Sourcery/blob/master/Sourcery/Sourcery.swift#L125
and the file types are declared here:
https://github.com/krzysztofzablocki/Sourcery/blob/a093692142ccc39904faef32fcdedee0db1d9e90/Sourcery/Utils/Path%2BExtensions.swift#L33


Couldn't find materialize function ''tooltip' on element or the global Materialize object.

I am using  angular component 2.0.0 . I followed the steps explained in npm page. am getting below error for any compoenent
Couldn't find materialize function ''tooltip' on element or the global Materialize object.
Any idea?
Does it work only for Angular Rc?

Please provide some more information about your setup.
I had a similar issue with some functions that weren't recognized as well like "parallax" and "sideNav", that happend when I used the https://github.com/AngularClass/angular2-webpack-starter this repo seems to load jquery several times which results in the Materialize functions being binded to only one of those jquery instances, and may result that the jquery that you are calling tooltip on be a different one.
To resolve this problem I started using the last angular-cli which uses webpack and there is documentation on how to set it up in the readme of angular2-materialize
More information on this closed issue #44
Some solutions in that issue suggested by @rubyboy:
If you are using webpack is to use this repo https://github.com/InfomediaLtd/angular2-materialize
or try using JSPM

Hi am using angular2-seed project , I added webpack as shown in npm-angular2
https://github.com/sudharsantk/angular2.
I imported both ..

I'm getting a similar problem
Couldn't find materialize function ''collapsible' on element or the global Materialize object.
I've followed the steps from the npm page and even tried a few variations. Im no webpack expert just started using it a couple of weeks ago. If someone could tell me whats wrong.
Here is my repo https://github.com/aaronfdes/Angular-2-webpack-starter in the materialcss branch.

I resolved it ,add it to the main.ts
import "materialize-css";
import "angular2-materialize";
import 'materializecss';
import 'materialize';
I checked in files, aarondfdes you can refer to my code it works
https://github.com/sudharsantk/angular2.

im getting Module not found: Error: Cannot resolve module 'materializecss'
did you install these packages separately because i didn't see them in your package.json?

Actually its not necessary as well.I copied from my previous example

Having the same issue with materializeActions. I am using Webpack as well but I am beyond confused on what @sudharsantk discussed with the imports and the repo is dead he linked. Here is the error I am getting:
index.js:29 Uncaught Error: Couldn't find materialize function ''openModal' on element or the global Materialize object.

@sudharsantk can we close this issue or is it still a problem?
@Tempus35 it would be helpful if you could provide a link to your repository or a simplified repository example of your problem. People may be able to help provided these additional details.
I'd start by searching this repository for solutions (in closed issues) and then create a separate issue describing your specific use case. Thanks.

Sample Repo
I used the angular2webpack2-starter then added in Materialize-Css and Angular2-Materialize. A sample of the error can be found by running npm install, npm start, going to localhost:3000 and clicking lazy on the left, the errors show in the console.

i also have this issue..
checked in 2 projects:
one of them:  with webpack without lazy loaded modules (works)
the other: with webpack too WITH lazy loaded module, and with a shared module importing MaterializeModule...
i get a
Couldn't find materialize function ''tooltip' on element or the global Materialize object.
or
Couldn't find materialize function ''material_select' on element or the global Materialize object.
(which one i try to put anywhere in a component inside those 2 modules


[Feature requests] action protection

It would be great if we can have feature to protect actions from accidental deletion.
It can happen at anytime and the impact is critical when action is being used in production.
Most of VM services have similar feature.

@style95 could you provide a proposal or more details on the use case?
Can you elaborate on “VM services” how do they provide feature and how it would contrast with Serverless and Container services ?

@style95 can you elaborate your problem?
Today we only generate one master api key. This key is use to create, update and delete.
Today the solution is that you have a namespaces for each environment and that the master key for production is not shared, saved in a vault and scripts deploying to production never delete and always create/update
Long term there might be better ACLs thru IAM/oauth identity, but what you are requesting is much simpler? Like marking an entity (trigger, rule, package, or rule) remove the “write” equivalent to “chmod -w” ? Meaning can still read/GET and execute/POST but can’t be deleted right?
Maybe a new annotation can serve as a mid term solution that indicates to the controller that the entity is marked that can’t be deleted.
But you would have to deal with the burden in production CI scripts to remove lock, then deploy and after deploy add the lock.
Does this reflect your problem, need and desire solution?

Hum there is no point of protecting from delete only and not update the action can accidentally be updated with wrong version of code or just a broken action.
I think it needs to be a single setting making it read and execute only meaning no delete or update to have the protection correctly explicitly applied.

I also feel like a developer should have full control over the action.
Maybe a warning like

“you’re deleting an action that is used in a sequence; are you sure ?”
or “you’re deleting a web action that may be used, are you sure ....”
Would help ?

Another idea is to work with a wskdeploy manifest and only make updates from it ?

There is a general issue in that referenced entities are not tracked at all today - applies to rules, packages, sequences, and compositions. We don't track dependencies today.
The way I propose approaching this is two fold: 1. addressing referenced entities (https://github.com/apache/incubator-openwhisk/issues/1047) and 2. fine grained permission on entities (like unix permissions) so that an action could be locked to +x (execute only) not -rw (read or write).
Annotations are a reasonable way of addressing 2 initially -- eventually this may warrant rising to the level of a first class property.

@rabbah https://github.com/apache/incubator-openwhisk/pull/4058


Not working. Project abandoned?

tickrs is not showing any stock information.
Has this project been abandoned?

+1 same here