I am a researcher at Microsoft. When I use mmaction for training, I will prompt errors related to distributed training. I sincerely look forward to your reply. Thank you very much

Thanks for your error report and we appreciate it a lot.
Checklist

I have searched related issues but cannot get the expected help.
I have read the FAQ documentation but cannot get the expected help.
The bug has not been fixed in the latest version.

Describe the bug
the log is :
A clear and concise description of what the bug is.
File "/home/kny/anaconda3/envs/mmd/lib/python3.7/site-packages/torch/nn/modules/conv.py", line 443, in _conv_forward
self.padding, self.dilation, self.groups)
File "/home/kny/anaconda3/envs/mmd/lib/python3.7/site-packages/apex/amp/wrap.py", line 21, in wrapper
args[i] = utils.cached_cast(cast_fn, args[i], handle.cache)
File "/home/kny/anaconda3/envs/mmd/lib/python3.7/site-packages/apex/amp/utils.py", line 97, in cached_cast
if cached_x.grad_fn.next_functions[1][0].variable is not x:
IndexError: tuple index out of range
ERROR:torch.distributed.elastic.multiprocessing.api:failed (exitcode: 1) local_rank: 0 (pid: 25385) of binary: /home/kny/anaconda3/envs/mmd/bin/python
Traceback (most recent call last):
File "/home/kny/anaconda3/envs/mmd/lib/python3.7/runpy.py", line 193, in _run_module_as_main
"main", mod_spec)
File "/home/kny/anaconda3/envs/mmd/lib/python3.7/runpy.py", line 85, in _run_code
exec(code, run_globals)
File "/home/kny/anaconda3/envs/mmd/lib/python3.7/site-packages/torch/distributed/launch.py", line 193, in
main()
File "/home/kny/anaconda3/envs/mmd/lib/python3.7/site-packages/torch/distributed/launch.py", line 189, in main
launch(args)
File "/home/kny/anaconda3/envs/mmd/lib/python3.7/site-packages/torch/distributed/launch.py", line 174, in launch
run(args)
File "/home/kny/anaconda3/envs/mmd/lib/python3.7/site-packages/torch/distributed/run.py", line 713, in run
)(*cmd_args)
File "/home/kny/anaconda3/envs/mmd/lib/python3.7/site-packages/torch/distributed/launcher/api.py", line 131, in call
return launch_agent(self._config, self._entrypoint, list(args))
File "/home/kny/anaconda3/envs/mmd/lib/python3.7/site-packages/torch/distributed/launcher/api.py", line 261, in launch_agent
failures=result.failures,
torch.distributed.elastic.multiprocessing.errors.ChildFailedError:
./tools/train.py FAILED
Failures:
<NO_OTHER_FAILURES>
Reproduction

What command or script did you run?
bash  run.sh .
`python train.py

Did you make any modifications on the code or config? Did you understand what you have modified?
no

What dataset did you use?'
coco

Environment
pytorch 1.10   nvidia 3090  cuda 113

Please run python mmdet/utils/collect_env.py to collect necessary environment information and paste it here.
You may add addition that may be helpful for locating the problem, such as

How you installed PyTorch [e.g., pip, conda, source]
pip
Other environment variables that may be related (such as $PATH, $LD_LIBRARY_PATH, $PYTHONPATH, etc.)
python 3.7
Error traceback
If applicable, paste the error trackback here.
I am a researcher at Microsoft. When I use mmaction for training, I will prompt errors related to distributed training. I sincerely look forward to your reply. Thank you very much

A placeholder for trackback.

Bug fix
If you have already identified the reason, you can provide the information here. If you are willing to create a PR to fix it, please also leave a comment here and that would be much appreciated!

Can you upload the full error message?

hi the full erros  message is
2021-11-25 17:23:57,289 - mmdet - INFO - workflow: [('train', 1)], max: 24 epochs
2021-11-25 17:23:57,289 - mmdet - INFO - Checkpoints will be saved to /home/kny/code/cell/swin by HardDiskBackend.
Traceback (most recent call last):
File "/home/kny/code/cell/./tools/train.py", line 189, in
main()
File "/home/kny/code/cell/./tools/train.py", line 178, in main
train_detector(
File "/home/kny/code/cell/mmdet/apis/train.py", line 185, in train_detector
runner.run(data_loaders, cfg.workflow)
File "/home/kny/anaconda3/envs/xl/lib/python3.9/site-packages/mmcv/runner/epoch_based_runner.py", line 127, in run
epoch_runner(data_loaders[i], **kwargs)
File "/home/kny/anaconda3/envs/xl/lib/python3.9/site-packages/mmcv/runner/epoch_based_runner.py", line 50, in train
self.run_iter(data_batch, train_mode=True, **kwargs)
File "/home/kny/anaconda3/envs/xl/lib/python3.9/site-packages/mmcv/runner/epoch_based_runner.py", line 29, in run_iter
outputs = self.model.train_step(data_batch, self.optimizer,
File "/home/kny/anaconda3/envs/xl/lib/python3.9/site-packages/mmcv/parallel/distributed.py", line 52, in train_step
output = self.module.train_step(*inputs[0], **kwargs[0])
File "/home/kny/code/cell/mmdet/models/detectors/base.py", line 237, in train_step
losses = self(**data)
File "/home/kny/anaconda3/envs/xl/lib/python3.9/site-packages/torch/nn/modules/module.py", line 1102, in _call_impl
return forward_call(*input, **kwargs)
File "/home/kny/anaconda3/envs/xl/lib/python3.9/site-packages/mmcv/runner/fp16_utils.py", line 128, in new_func
output = old_func(*new_args, **new_kwargs)
File "/home/kny/code/cell/mmdet/models/detectors/base.py", line 171, in forward
return self.forward_train(img, img_metas, **kwargs)
File "/home/kny/code/cell/mmdet/models/detectors/two_stage.py", line 249, in forward_train
rpn_losses, proposal_list = self.rpn_head.forward_train(
File "/home/kny/code/cell/mmdet/models/dense_heads/base_dense_head.py", line 49, in forward_train
outs = self(x)
File "/home/kny/anaconda3/envs/xl/lib/python3.9/site-packages/torch/nn/modules/module.py", line 1102, in _call_impl
return forward_call(*input, **kwargs)
File "/home/kny/code/cell/mmdet/models/dense_heads/anchor_head.py", line 139, in forward
return multi_apply(self.forward_single, feats)
File "/home/kny/code/cell/mmdet/core/utils/misc.py", line 29, in multi_apply
return tuple(map(list, zip(*map_results)))
File "/home/kny/code/cell/mmdet/models/dense_heads/rpn_head.py", line 39, in forward_single
x = self.rpn_conv(x)
File "/home/kny/anaconda3/envs/xl/lib/python3.9/site-packages/torch/nn/modules/module.py", line 1102, in _call_impl
return forward_call(*input, **kwargs)
File "/home/kny/anaconda3/envs/xl/lib/python3.9/site-packages/torch/nn/modules/conv.py", line 446, in forward
return self._conv_forward(input, self.weight, self.bias)
File "/home/kny/anaconda3/envs/xl/lib/python3.9/site-packages/torch/nn/modules/conv.py", line 442, in _conv_forward
return F.conv2d(input, weight, bias, self.stride,
File "/home/kny/anaconda3/envs/xl/lib/python3.9/site-packages/apex/amp/wrap.py", line 21, in wrapper
args[i] = utils.cached_cast(cast_fn, args[i], handle.cache)
File "/home/kny/anaconda3/envs/xl/lib/python3.9/site-packages/apex/amp/utils.py", line 97, in cached_cast
if cached_x.grad_fn.next_functions[1][0].variable is not x:
IndexError: tuple index out of range
ERROR:torch.distributed.elastic.multiprocessing.api:failed (exitcode: 1) local_rank: 0 (pid: 31691) of binary: /home/kny/anaconda3/envs/xl/bin/python
Traceback (most recent call last):
File "/home/kny/anaconda3/envs/xl/lib/python3.9/runpy.py", line 197, in _run_module_as_main
return _run_code(code, main_globals, None,
File "/home/kny/anaconda3/envs/xl/lib/python3.9/runpy.py", line 87, in _run_code
exec(code, run_globals)
File "/home/kny/anaconda3/envs/xl/lib/python3.9/site-packages/torch/distributed/launch.py", line 193, in
main()
File "/home/kny/anaconda3/envs/xl/lib/python3.9/site-packages/torch/distributed/launch.py", line 189, in main
launch(args)
File "/home/kny/anaconda3/envs/xl/lib/python3.9/site-packages/torch/distributed/launch.py", line 174, in launch
run(args)
File "/home/kny/anaconda3/envs/xl/lib/python3.9/site-packages/torch/distributed/run.py", line 710, in run
elastic_launch(
File "/home/kny/anaconda3/envs/xl/lib/python3.9/site-packages/torch/distributed/launcher/api.py", line 131, in call
return launch_agent(self._config, self._entrypoint, list(args))
File "/home/kny/anaconda3/envs/xl/lib/python3.9/site-packages/torch/distributed/launcher/api.py", line 259, in launch_agent
raise ChildFailedError(
torch.distributed.elastic.multiprocessing.errors.ChildFailedError:
./tools/train.py FAILED
Failures:
<NO_OTHER_FAILURES>
Root Cause (first observed failure):
[0]:
time      : 2021-11-25_17:24:24
host      : kny-ai
rank      : 0 (local_rank: 0)
exitcode  : 1 (pid: 31691)
error_file: <N/A>
traceback : To enable traceback see: https://pytorch.org/docs/stable/elastic/errors.html

Are you using apex to accelerate training?

yes,

I met the same issue.

I have the same issue and I am sure it is not caused by apex
`
Traceback (most recent call last):
File "/home/aaa/disk1/mmdetection-2.19.0/tools/train.py", line 192, in
main()
File "/home/aaa/disk1/mmdetection-2.19.0/tools/train.py", line 181, in main
train_detector(
File "/home/aaa/disk1/CalibratedTeacher-main/src/apis/train.py", line 191, in train_detector
runner.run(data_loaders, cfg.workflow)
File "/home/aaa/disk1/mmcv-1.4.5/mmcv/runner/iter_based_runner.py", line 116, in run
self.call_hook('before_run')
File "/home/aaa/disk1/mmcv-1.4.5/mmcv/runner/base_runner.py", line 309, in call_hook
getattr(hook, fn_name)(self)
File "/home/aaa/disk1/CalibratedTeacher-main/src/utils/hooks/mean_teacher.py", line 30, in before_run
assert hasattr(model, "teacher")
AssertionError
ERROR:torch.distributed.elastic.multiprocessing.api:failed (exitcode: 1) local_rank: 0 (pid: 3208990) of binary: /home/aaa/anaconda3/envs/calibrate_teacher1/bin/python
Traceback (most recent call last):
File "/home/aaa/anaconda3/envs/calibrate_teacher1/lib/python3.8/runpy.py", line 194, in _run_module_as_main
return _run_code(code, main_globals, None,
File "/home/aaa/anaconda3/envs/calibrate_teacher1/lib/python3.8/runpy.py", line 87, in _run_code
exec(code, run_globals)
File "/home/aaa/anaconda3/envs/calibrate_teacher1/lib/python3.8/site-packages/torch/distributed/launch.py", line 193, in
main()
File "/home/aaa/anaconda3/envs/calibrate_teacher1/lib/python3.8/site-packages/torch/distributed/launch.py", line 189, in main
launch(args)
File "/home/aaa/anaconda3/envs/calibrate_teacher1/lib/python3.8/site-packages/torch/distributed/launch.py", line 174, in launch
run(args)
File "/home/aaa/anaconda3/envs/calibrate_teacher1/lib/python3.8/site-packages/torch/distributed/run.py", line 710, in run
elastic_launch(
File "/home/aaa/anaconda3/envs/calibrate_teacher1/lib/python3.8/site-packages/torch/distributed/launcher/api.py", line 131, in call
return launch_agent(self._config, self._entrypoint, list(args))
File "/home/aaa/anaconda3/envs/calibrate_teacher1/lib/python3.8/site-packages/torch/distributed/launcher/api.py", line 259, in launch_agent
raise ChildFailedError(
torch.distributed.elastic.multiprocessing.errors.ChildFailedError:
/home/aaa/disk1/mmdetection-2.19.0/tools/train.py FAILED
Failures:
<NO_OTHER_FAILURES>
Root Cause (first observed failure):
[0]:
time      : 2023-07-28_14:12:59
host      : aaa
rank      : 0 (local_rank: 0)
exitcode  : 1 (pid: 3208990)
error_file: <N/A>
traceback : To enable traceback see: https://pytorch.org/docs/stable/elastic/errors.html
`


NativeCall, CArray[].allocate example not working

The problem
From https://docs.perl6.org/language/nativecall#index-entry-CArray_methods
use NativeCall;
my $number_of_ints = 10;
my $ints = CArray[int32].allocate($number_of_ints);
Gives:
No such method 'allocate' for invocant of type 'NativeCall::Types::CArray[int32]'
There are other places on that page where .allocate is also referenced.
Suggestions
Not sure, maybe allocate has been replaced somehow?

What version of Perl 6 are you using? I think it's the other way round, it's rather new.

Right, new as in 2 months ago. Upgrading to 2018.04 will probably fix that. Tell me if that's the case to close the issue, although if you thin, some note should be added indicating that, we can do that, too.

I was at an older version, but just upgraded to:
This is Rakudo Star version 2018.04.1 built on MoarVM version 2018.04.1
And error persists.

It might be the next one, then. I'll check and clarify. Thanks for the
report.

I'm sorry, but I'm going down to 2018.03 and it's still working...

It starts to work in 2018.05, according to commitable. I'll clarify it in the docs. Thanks again for the report.

Odd, i've tried it on two separate machines now with 2018.04.1 and get the error.  They're self compiled on Fedora Linux.  Maybe my environment has introduced some problem?    I'm testing from the repl with just:
use NativeCall; CArray[int32].allocate(5)
And getting the error.

El vie., 29 jun. 2018 a las 17:59, Sean<EMAIL_ADDRESS>escribió:

Odd, i've tried it on two separate machines now with 2018.04.1 and get the
error. They're self compiled on Fedora Linux. Maybe my environment has
introduced some problem? I'm testing from the repl with just:
use NativeCall; CArray[int32].allocate(5)

Something was wrong with my environment. Got it now. Thanks!


Use Cesium sun as lightsource for material

From https://github.com/AnalyticalGraphicsInc/collada2gltf-web-service/issues/2 by @laurensdijkstra:

When converting Collada models to glTF via the web service you provide and then displaying the model in Cesium makes the model unaffected by the lighting direction of the sun. I saw that the obj2gltf library added a --cesium flag to address this issue. Would it be possible for the web service to provide a similar feature?

This already works for glTF 2. Should we close @pjcozzi ?

Up to @lilleyse

Yeah fine to close.


Added ability to use of custom attributes

Added ability to use of custom attributes on form elements (for example
'v-model' attribute for Vue). Attributes can be assigned via config
file. Also added ability to use of groups of custom attributes by
defining it via allowed prefixes array.

@syberon can you fix the two review comments. After that, I will merge your PR.
Thank you

No problem. I fixed this.


How to handle variant image sizes? Thanks

I have a question about variant image sizes.
If we have images with different sizes (actually happens often, if no resizing is used). Let's say imge1 has 256 patches, and image2 has 512 patches. For this question, I would guess self.pos_embedding is defined as a sufficient big, e.g.,
self.pos_embedding = nn.Parameter(torch.randn(1, 10000, dim)), and then when using it, we may use
num_patches = x.shape[1] x += self.pos_embedding(:, num_patches + 1, :).
But I am not quite sure if this approach works. Could you please advise?

@junyongyou Hi! I just released a new version of the library that will allow you to do this, provided when passing image_size in the constructor, you pass the maximum image size
import torch
from vit_pytorch import ViT

model = ViT(
	image_size = 512,
	patch_size = 32,
	num_classes = 1000,
	dim = 1024,
	depth = 6,
	heads = 8,
	mlp_dim = 2048,
	dropout = 0.1,
	emb_dropout = 0.1
)

x = torch.randn(1, 3, 256, 256)
y = torch.randn(1, 3, 512, 512)
model(x), model(y)

the other way to do this, is to embed your smaller image into the maximum image size, then pass a mask to block out attention to the non-image regions

Just throwing some caution though; you will need a sufficient number of patches for attention to work well, as attention relies on the comparison between the representative tokens of each patch

In other words, if you pass in a 32x32 image (1 token), nothing will get learned in a transformer


Error thrown by normalizeOptions when options are null / undefined

Reproduction
https://formkit.link/fd53b79a98c060a1e2fcddfa7a147fef
Describe the bug
We're seeing an error thrown by normalizeOptions in<EMAIL_ADDRESS>when options is undefined / null.

[Vue warn]: Error in watcher callback: "TypeError: Cannot convert undefined or null to object"

The issue is caused by this code:
    return Object.keys(options).map((value) => {
        return {
            label: options[value],
            value,
        };
    });

Specifically, this is caused by attempting Object.keys(null).
Adding a guard clause seems to resolve the issue, e.g.
    if (!options) { return []; }

    return Object.keys(options).map((value) => {
        return {
            label: options[value],
            value,
        };
    });

The start of the function is already wrapped in a check (if (Array.isArray(options)) {), so is it possible the mapping also needs this?
Unfortunately, I've not been able to replicate this - the only pro inputs we're using at the moment are autocomplete, datepicker and repeater, and the playground I've attached doesn't seem to throw this error no matter what I put in there.
The section of our schema that causes this (included in the playground), doesn't seem to have anything pro nor anything unusual about it.
I'm interested to hear if this is something that you're able to reproduce, whether it's an area some defensive code would be useful, or whether it's likely a mistake our end. Thanks in advance :)
Edit:
A bit more digging, and it seems the error is thrown specifically where we have an if: condition relating to the schema item. Not always - in our case a few occasions out of a few dozen uses - with nothing distinguishing them from other fields. We've had another issue (not yet raised) where a conditional field is replaced with a different field indeterminately - speculating, but could it be a Vue keying issue?
Environment
• OS: Ventura 13.3.1 (a)
• Browser Chrome 114.0.5735.133
• Version
"@formkit/icons": "^0.17.2",
"@formkit/pro": "^0.112.6",
"@formkit/themes": "^0.17.2",
"@formkit/vue": "^0.17.2",

@SDRACK The options prop is required for the autocomplete input to work (this should be mentioned in the docs) and the options should be in one of these formats: https://formkit.com/inputs/autocomplete#defining-options. We will be releasing an update to the dropdown family inputs that will set a console warn if the options prop is invalid.
Do you ever run into this normalizeOptions error when the options you are assigning to your autocomplete isn't null?

Thanks for the quick response @sashamilenkovic - we're never setting them to null as far as I can see. Our implementation has us using an async call to the Google places API, but we fall back to an empty array if we don't get a successful response.
I've a feeling that might be a red herring here, and the real issue comes from something lower level - the error seems to be thrown sometimes (not always) when we've an if: condition in the schema. When the bugged condition becomes true, we see the error thrown.
I've copied the fields over from our code (under the comment // our section throwing the error) but it doesn't throw anything in the playground.
Adding a guard before Object.keys(options) fixes our issue and gets the if:s working, but I wonder if the root cause comes from something deeper into the config (pro / not pro, Vue keys or something) that I can't control in the playground.

@SDRACK Ok, gotcha. Just curious, in your dev environment, are you also setting the options as object literals? I wonder if you restructure them into a different format if it will work correctly.

We can add an additional guard to the options hook you are referring to, I just want to narrow down what the exact issue is.

Thanks for the assistance @sashamilenkovic – I'm the CTO where @SDRACK works and we're keen to get this resolved as soon as possible as it's blocking our (eagerly-awaited!) upgrade from Vue Formulate to FormKit. Let me know if there's anything you need from us to help debug further.

@henryaj a reproduction is all we need 👍
We can add a guard to "fix" this, but this is a bit silly since passing incorrect data into props will cause errors on almost all props. Adding guards for incorrect data on all props would bloat the package significantly.

Hey @justin-schroeder - I think it's down to scale of our form. As far as I'm aware, we're not passing any incorrect props. We've got some examples where radios are coming through as textboxes and vice versa (e.g. below), so it's very hard to tie down. However, this error is almost always present.

We've actually plugged the guard in manually our end and it's seems to lessen the issue but doesn't resolve it entirely. Instead, using Vue dev tools, we see options: '[object Object]' or similar - these are hard coded options, provided directly in the schema, so it doesn't make sense as far as I can see.
I've copied our schema and formdata in the playground and can actually reproduce the issue, but... the share button stops working, presumably due to the size. We're working with a schema with 49 top level keys, and formData with 60 (that's not counting anything nested).
Here's a screenshot of the issue showing up in the playground:

I'd be open to it being a fault our end, but seeing it in the playground and with an error originating from Formkit makes we worry it's an issue of scale, and race conditions, key clashes, something else causing the bugs we're seeing.
I'll talk to @henryaj tomorrow about whether we'd be able to provide our real schema and some dummy formData tomorrow morning if you'd be willing to talk via a private channel?
Once again, thanks to both of you @justin-schroeder and @sashamilenkovic for your work on this so far - been banging my head against this one all day today :)

I’m certainly not saying there isn’t an issue the FormKit library — it could be there 100%, but without a reproduction its stabbing in the dark. We‘ve got thousands of tests that check out so when these issues arise its incredibly hard to help without seeing a reproduction.
There is nothing specific about "scale" that would cause an issue like this other than it is harder to find what is really going on — however — keys yes! Vue recycles DOM nodes in fragments if keys are not found and this can lead to unpredictable results. If you are using conditional fields you should place a key (this is the vue key) on anything that is dynamic:
{
  $formkit: 'text'
  if: '$foobar'
  key: 'uniqueKey'
}

That said hearing you say you’re seeing this: options: '[object Object]' makes me think the options are being provided in some specific way that is breaking it, not sure on whose end. If you want to just send a DM on discord with the code to put in the playground we can help from there.


Cell does not seem to have a "repr" method

as opposed to Sheet.
So in order to see a cell in the notebook you must do either something like sheet[5:6] for print(cell).
It would be convenient to just be able to write cell.

Opened https://github.com/jupyter-widgets/ipywidgets/pull/2338


Fix KeyCloak examples when using CORS

References:
ocis KeyCloak examples
CORS policy while getting token information from Keycloak (issue)
Possibly we need to update owncloud.dev referenced by the example with the info that was provided  in the issue above. IMHO the key sentence made is:
...I found out that I need to setup web origins option in keycloak client setting...
@wkloucek maybe you can have a look on it
@micbar fyi

@wkloucek ping for mind to have a look

dont close

keep open

Keycloak needs to be properly configured.
And our example is properly configured when it comes to CORS https://github.com/owncloud/ocis/blob/ca929abd3aa1745912e33a99a83cc2c7ac0c3a06/deployments/examples/ocis_keycloak/config/keycloak/ocis-realm.dist.json#L1128-L1130. "e could also use + there which has other downsides, but this is up to the Keycloak documentation from my POV.
https://www.keycloak.org/docs/latest/server_admin/index.html#con-basic-settings_server_administration_guide -> Web Origins


Error while installing in Apple M1 chip

❯ kubectl krew install example
Updated the local copy of plugin index.
Installing plugin: example
W0523 02:14:19.359217   47433 install.go:164] failed to install plugin "example": plugin "example" does not offer installation for this platform
F0523 02:14:19.359287   47433 root.go:79] failed to install some plugins: [example]: plugin "example" does not offer installation for this platform

I'll add support for arm64.

Any luck or updates on this? I just found this before posting the same issue.

Resolved.


Release stable version Azure.ResourceManager.Cdn SDK

https://apiview.dev/Assemblies/Review/43b0983f23fe4e07b9acdd88d99492c6/cbfe515e42b242bc8c57935cc7294814


Interactive window doesn't handle kernel switching well

Switch to an invalid kernel a bunch of times. Notice a bunch of 'Connecting to...' messages in the interactive window which never get resolved.

Not sure what it means to switch to an invalid kernel. Can you give an example of the invalidness you mean? For repro's sake?


Add another status screen that shows key quest item progress and known shop inventories

Some players frequently forget what they have or what shops sell. I know I do.

Hide this behind a customization flag for players who don't want access to this

Also show the last item gotten -- it's pretty common for people to mash through the text and not read it


Install, Getting started, noob example

Hi,
trying to find how to get this thing working with some Hello World example, some intro,...
What I did:
Node installed
npm install -g miio
npm install miio in project/folder

I tried miio discover and this is what I get:
Device ID: 56593364
Model info: Unknown
Address: <IP_ADDRESS>
Token: ???
Support: Unknown

I tried DEBUG=thing* miio discover and this is what I get:
thing:miio:56593364 <- Handshake reply: <Buffer 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00> +0ms
thing:miio:56593364 Loading token from storage, device hides token and no token set via options +5ms
thing:miio:56593364 <- Handshake reply: <Buffer 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00> +89ms
thing:miio:56593364 Loading token from storage, device hides token and no token set via options +2ms
Device ID: 56593364
Model info: Unknown
Address: <IP_ADDRESS>
Token: ???
Support: Unknown

thing:miio:56593364 <- Handshake reply: <Buffer 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00> +415ms

This gateway with ringing and radio is connected to same network as computer with switch, sensors etc.
What am I doing wrong? Thank you!

Hey @akuljana did u manage to resolve the issue?


Processes not disowning after update

Type:

[x] Bug

zplug --version: 2.4.1
zsh --version: 5.3.1
uname -a: Linux antergos 4.9.8-1-ARCH x86_64

Minimal zshrc (with less than 30 lines)
source ~/.zplug/init.zsh

#zplug "foo/bar", tag:baz
#zplug "...

if zplug check || zplug install; then
  zplug load --verbose
fi

Step to reproduce

Have source ~/.zplug/init.zsh in .zshrc
Try executing a command and then disowning it: dolphin /var/log/samba/ & disown

The process will exit with the closing of the terminal.
I ran zplug update yesterday and today I found that I am unable to close the terminal without the process launched with it also terminating. If I comment out source ~/.zplug/init.zsh, the I am able to use the command correctly. I am trying to figure out the reason for this

After removing the .zplug folder and reinstalling zplug, the issue seems to have been resolved, though I wonder why it occured. I haven't changed a thing in my .zshrc file.

I also have this same problem. Removing .zplug  and reinstalling don't solve the problem.

@kazuoteramoto I had the same issue again yesterday, so I removed the .zplug folder and ran the install again: curl -sL zplug.sh/installer | zsh. It's now working fine. Here's my .zshrc file (just see first part pertaining to zplug):
source ~/.zplug/init.zsh

zplug "zsh-users/zsh-completions",              defer:0
zplug "zsh-users/zsh-autosuggestions",          defer:2
zplug "zsh-users/zsh-syntax-highlighting",      defer:2
zplug "zsh-users/zsh-history-substring-search", defer:3

zplug "lib/misc", from:oh-my-zsh
zplug "lib/completion", from:oh-my-zsh
zplug "lib/functions", from:oh-my-zsh
zplug "lib/clipboard", from:oh-my-zsh
zplug "lib/compfix", from:oh-my-zsh
zplug "lib/git", from:oh-my-zsh
zplug "lib/diagnostics", from:oh-my-zsh
zplug "lib/spectrum", from:oh-my-zsh
zplug "lib/termsupport", from:oh-my-zsh
zplug "plugins/systemd", from:oh-my-zsh
zplug "plugins/archlinux", from:oh-my-zsh
zplug "plugins/zsh-navigation-tools", from:oh-my-zsh
zplug "plugins/git", from:oh-my-zsh

#zplug "b4b4r07/enhancd", use:init.sh

zplug "frmendes/geometry"

zplug 'zplug/zplug', hook-build:'zplug --self-manage'

if ! zplug check --verbose; then
    printf "Install? [y/N]: "
    if read -q; then
        echo; zplug install
    fi
fi

zplug load

#=+=+=+=+==+=+=+=+==+=+=+=+=
# =+=+=+=+= SETTINGS =+=+=+=
#=+=+=+=+==+=+=+=+==+=+=+=+=
export DISPLAY=:0
export DESKTOP_SESSION=kde
export XDG_CURRENT_DESKTOP=kde

#HISTIGNORE="mpv *"
export HISTFILE=~/.zsh_history
export HISTSIZE=10000
export SAVEHIST=10000

export LC_ALL=en_ZA.utf8
export LC_CTYPE=en_ZA.utf8
export LANG=en_ZA.utf8
export LC_COLLATE=en_ZA.utf8

export EDITOR='nvim'
export MANPAGER="nvim -c 'set ft=man' -"

bindkey '^[[A' history-substring-search-up
bindkey '^[[B' history-substring-search-down
bindkey '^[[C' vi-forward-blank-word
#bindkey '^[[D' vi-backward-blank-word

HISTORY_SUBSTRING_SEARCH_ENSURE_UNIQUE=1        # All search results returned will be unique

setopt HIST_SAVE_NO_DUPS                        # Don't write duplicate entries in the history file.
setopt NO_HUP
setopt NO_CHECK_JOBS

GEOMETRY_PROMPT_PLUGINS=(virtualenv docker_machine exec_time git hg)

zshaddhistory() { whence ${${(z)1}[1]} >| /dev/null || return 1 } # Don't add wrong commands to history

autoload -Uz compinit && compinit

#tput civis                                     # Hide cursor

BASE16_SHELL=$HOME/.config/base16-shell/
[ -n "$PS1" ] && [ -s $BASE16_SHELL/profile_helper.sh ] && eval "$($BASE16_SHELL/profile_helper.sh)"

#=+=+=+=+==+=+=+=+==+=+=+=+=
# =+=+=+=+= TMUX =+=+=+=+=
#=+=+=+=+==+=+=+=+==+=+=+=+=

#if [[ ! $TERM =~ screen ]]; then
    #exec tmux new-session -A -s main
#fi

# tman() {

    #tmux split-window -h -p 40 'exec man '$1''

#}

source $HOME/.aliases

I'm re-opening it since it's a persistant occurence, even with a minimal .zshrc

related to https://github.com/zplug/zplug/issues/374? In that case, it's not a bug. also, that zshrc is too large. I can not figure out where the problem is

@b4b4r07  It does seem related. It occurs even after completely removing all plugins on a minimal .zshrc, I just put my entire .zshrc to compare with @kazuoteramoto.

I found a sure way to reproduce it.

Remove any .zshrc and .zplug
save this .zshrc

source ~/.zplug/init.zsh

zplug 'zplug/zplug', hook-build:'zplug --self-manage'

if ! zplug check --verbose; then
    zplug install
fi

zplug load

run curl -sL zplug.sh/installer | zsh
open a new shell and let zplug install zplug
disown a command, if you close the shell it will close the program.

The strange part it that you can comment the zplug 'zplug/zplug', after you load it it for the first time and still reproduce the problem. But if you start with a .zshrc without this line the problem don't happen.
I put the .zshrc and .zplug and the output of env here. I can also reproduce by just moving the files to the home dir.


close# 3343

(1) two-round installation for R package: first, compile source code; second, export all R functions and generate documents;
(2) all help files have been removed, since they will be regenerated every time run make rpkg;
(3) inception test in R has been disabled since http://data.dmlc.ml/ is down

Thanks, will wait the travis test and then merge this in

@tqchen I think the Julia test still failed. All of other passed.


setup.py egg_info

Hello,
I'm trying to run the backend of stethoscope and followed the instructions in Netflix/stethoscope/docs/backend.rst. I tried 'make develop' in a pyenv and got an error:
'''Command "python setup.py egg_info" failed with error code 1 in /tmp/pip-install-546p715s/pymssql/
Makefile:13: recipe for target 'install-python-requirements' failed
make: *** [install-python-requirements] Error 1'''

I'm guessing this is the issue with pymssql described here:
https://stethoscope.readthedocs.io/en/latest/backend.html#errors-installing-pymssql
That's a pretty old workaround, though, there may be better ways now to get
pymssql installed and working with FreeTDS in the virtualenv.
On Wed, Feb 20, 2019 at 10:27 AM Brandon Hua<EMAIL_ADDRESS>wrote:

Hello,
I'm trying to run the backend of stethoscope and followed the instructions
in Netflix/stethoscope/docs/backend.rst. I tried 'make develop' in a pyenv
and got an error:
'''Command "python setup.py egg_info" failed with error code 1 in
/tmp/pip-install-546p715s/pymssql/
Makefile:13: recipe for target 'install-python-requirements' failed
make: *** [install-python-requirements] Error 1'''
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/Netflix/stethoscope/issues/120, or mute the thread
https://github.com/notifications/unsubscribe-auth/ABQudqB6YnR2K1K6FzwQIhFBAh0vGBFHks5vPZOKgaJpZM4bF1tw
.

I ran those commands and still got the same error. I did get it to work by installing node js and running
sudo make develop.

That sounds like maybe you were using system python rather than the
virtualenv. You shouldn't need sudo.
On Wed, Feb 20, 2019 at 10:58 AM Brandon Hua<EMAIL_ADDRESS>wrote:

I ran those commands and still got the same error. I did get it to work by
installing node js and running
sudo make develop.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/Netflix/stethoscope/issues/120#issuecomment-465709440,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ABQudsFvt38sh-JD0oxgpBZXU2a_lzslks5vPZrEgaJpZM4bF1tw
.

I'm not sure how to solve the issue, so I've tried re-doing everything in a fresh virtual machine. I now get this error:
Command "/usr/bin/python -u -c "import setuptools, tokenize;file='/tmp/pip-install-O84oK5/Twisted/setup.py';f=getattr(tokenize, 'open', open)(file);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, file, 'exec'))" install --record /tmp/pip-record-IR8AFt/install-record.txt --single-version-externally-managed --compile" failed with error code 1 in /tmp/pip-install-O84oK5/Twisted/
Makefile:13: recipe for target 'install-python-requirements' failed
make: *** [install-python-requirements] Error 1

It's hard to tell what the actual problem is from that message. Is there a log file or any other information in /tmp/pip-install-O84oK5/Twisted.

I can't find the directory pip-install 084ok5


[JENKINS-29502] added support debian package publisher

added the missing publisher part of the Debian Package Builder Plugin (build step was already there)

Thank you for a pull request! Please check this document for how the Jenkins project handles pull requests


Fix cronet compilation error

To unbreak several gRPC targets.
Fixes #8298

Checked all test failures and they are unrelated.

Thanks for fixing

Thanks for fixing.


Core API: support passing stdin to exec

It's possible to retrieve stdout and stderr from an exec, but not to inject stdin. This would be very useful.
type Exec {
  # This exists:
  stdout: String
  stderr: String
}

type ExecInput {
  # This doesn't exist, but it should :)
  stdin: String
}

Implemented:
https://github.com/dagger/dagger/blob/fdbf190307776b4cfb8acaa39cc82956d104e310/core/integration/container_test.go#L279


Machine parseable tokens for indicating field support state

What would you like to be added:
This comes from suggestion from @danehans:
For features and structs that can be clearly delineated with a support expectation (base = 100% support, extended = if supported, must be portable, custom = implementation extension), we have a machine parse able label:
// +serviceapis:resource:core
// +serviceapis:resource:extended
// +serviceapis:resource:custom

This makes it easier create tooling for generating docs later.
Why is this needed:
We are already putting Support: base in the code comments. This will just formalize the string used.
As this is part of the comments and not consumed for now, the cost for support is quite low.

I'm going to send a PR to do the string changes, seems like people are (silently) ok with this.

/remove-lifecycle stale

This was discussed in office hours on May 13. This is already supported but it turns out it is not documented in the concepts doc.
/assign @bowei

/remove-lifecycle rotten
/lifecycle frozen
this is still a good idea

While grooming we saw that this one was open for about 2 years without anyone with a strong use case to champion it. We're going to close this as we don't expect anyone's ready to drive it forward, but if you still want this feature and have a strong use case we will be happy to reconsider this and re-open.


fix: ran yarn prettier --w on repo

I noticed that the prettier check is failing on this readme PR https://github.com/v0l/snort/pull/300 (failing check https://github.com/v0l/snort/actions/runs/4178879144/jobs/7238346364).
I ran the prettier command on the repo and it fixed a few files.

Hi.
transifex.yml should be ignored by .prettierignore.
I think prettier and eslint should be installed as shared libraries (but doesn't seem to be within the scope of this PR).

Fixed in #301


VM override not working

Hi everyone, I am coding an extension that needs to override a VM function, but I can't get it to work
(function(Scratch) {
  "use strict";

  if (!Scratch.extensions.unsandboxed) {
    throw new Error("The console log moves extension must run unsandboxed");
  }

  const sMotion = Scratch.vm.runtime.ext_scratch3_motion;
  let oldMoveSteps = sMotion.moveSteps;
  sMotion.moveSteps = function(args, util) {
    oldMoveSteps(args, util);
    console.log("moveSteps called");
  }

  class consoleLogMoves {
    getInfo() {
      return {
        id: "moveLogger0419",
        name: "console log moves",
        blocks: [
        ],
      };
    }

  }
  Scratch.extensions.register(new consoleLogMoves());
})(Scratch);

Can someone please explain why this doesn't work.
(I need to override it with something else, but first this needs to work)

overriding the exports used by the compiler sometimes doesn't work

Is there a way one can force the issue? Or is there another way that might work?

in that specific case, you want to override _moveSteps not moveSteps

So its basically not possible?

So basically its not possible?

I think it is (_moveSteps is another function defined in ext_scratch3_motion)

I thought my answer was enough but here's a code sample
vm.runtime.ext_scratch3_motion._moveSteps = (a, b) => { console.log(a, b); }

@GarboMuffin Sorry!

But why does it only work with _moveSteps?

most of the builtin blocks are given special treatment by compiler so overriding all of them might be difficult or not possible at all. good luck with whatever you're doing. may not be able to help much


add note on where _extensions needs to go

This solves #6 for me.  There may be a more general set of instructions, but I updated the README.md with what worked on my machine.
Thanks!

We could add this for sure, but what I want to clarify is that
quarto add quarto-ext/include-code-files

should have put the _extensions folder in the right place.
It wasn't the case ?

I don't know what the right place is, but quarto add put the _extensions folder in the directory from which quarto add was called.  Once I moved _extensions to the directory containing my .qmd file, it worked.
I was expecting it to install somewhere quarto-wide rather than for this specific doc.  In retrospect, this is good because I want to distribute the extension along with my doc and it's small enough I can do that easily.

Yes, it is by design that add installs into either the working directory to project root. Extensions are resolved using either the document directory or the project root. I think it would be useful to include this information in our extension documentation on quarto.org (I didn't see it doing a quick peruse). I am mainly adding this note to clarify that it isn't actually correct that the _extension directory needs to be in the same directory as your input document- that is true when it is not a project, but when using Quarto projects, it can also be the project root.
I'd rather see this type of documentation in our core documentation so all extensions may share them without taking on the burden of keeping things up to date...

Thanks, @dragonstyle---that sounds good.  It'd be nice if there were a link somewhere from the README.md to the general instructions that explained that quarto add doesn't work like pip install and you have to run the command from the appropriate directory.


add txt file to swot

https://www.miu.edu/

https://www.miu.edu/

@dawitd Pull request merged. Thank you!


config.yaml write_files does consistently work

Version (k3OS / kernel)
k3os version v0.10.0
5.0.0-43-generic #47~18.04.1 SMP Wed Apr 1 16:27:01 UTC 2020
Architecture
x86_64
Describe the bug
Much of anything past the sample write_files in README.md causes inability to ssh into the k3os box.  Example config.yaml below to test with.  Box will boot, see the k3os splash, but unable to login to box with provided sshkey.  Also no evidence of errors or logs or failure conditions found in the boot log, so any errors are probably being silently eaten.
To Reproduce
I use this script in cloud init once I have booted an ubuntu 18.04 AMI in aws, then reboot the node and attempt to login via ssh with key.  Removing the write_files section allows logging in as expected.  YAML validated as good via http://www.yamllint.com/, script can be pasted onto an already running k3os in /tmp and executes fine.
#!/bin/bash

set -e

# This script installs K3os ontop of whatever OS is currently running
# afaik this is the only way to bootstrap a cloud ami, which is to takeover an existing one
# Tested against an ubuntu 18.04 AMI and works well

# references
# k3os https://github.com/rancher/k3os#quick-start
# k3s https://rancher.com/docs/k3s/latest/en/installation/install-options/
# containerd https://blog.scottlowe.org/2020/01/25/manually-loading-container-images-with-containerd/

cat <<EOF > /tmp/config.yaml
# host configs
ssh_authorized_keys:
 # athena config
 - ssh-rsa xxxx
write_files:
- encoding: ""
  content: |-
    #!/bin/bash
    ACCT="$(curl --max-time 10 -s <IP_ADDRESS>/latest/dynamic/instance-identity/document | jq -r '.accountId')"
    re='^[0-9]+$'
    if ! [[ "$ACCT" =~ $re ]]; then
      echo "not a number, must not be aws";
    else
      echo "yup, in cloud"
    fi
  owner: root
  path: /etc/check.sh
  permissions: 0700

# k3os configs
k3os:
  data_sources:
  - aws
  k3s_args:
    - server
    - "--no-deploy=traefik"
    # does not work, have to use containerd
    #- "--docker"
EOF

#K3OS_VER="v0.9.1"
K3OS_VER="v0.10.0"

# get rancher install script
wget https://raw.githubusercontent.com/rancher/k3os/${K3OS_VER}/install.sh
chmod +x install.sh

# figure out the drive that we are overwriting onto
# just finding what root '/' is mounted to
INSTALL_DRIVE=$(df -h | grep "\s/$" | cut -d ' ' -f1)

sudo ./install.sh --takeover --debug --tty ttyS0 --config /tmp/config.yaml --no-format "${INSTALL_DRIVE}" https://github.com/rancher/k3os/releases/download/${K3OS_VER}/k3os-amd64.iso

# Dont forget to reboot the machine now so it can finish the install, then create ami from it

Expected behavior
file was written to disk and executed, host booted successfully and able to login.
Actual behavior
machine seems to fail finalizing the config and I'm guessing never gets to the part that lands the ssh key
Additional context
I have a bunch of hardening/OS tweaking that I need to do to the image, was attempting to do it via write_files and do it post setup if you will.  Grabbing the AWS metadata is just a snippet that actually fails the OS in some way that shows inability to login.  I haven't dug into the install/building process enough yet to understand how to make those changes farther upstream but eventually will so I can further lock down device mounting options for example.

k3os:
  data_sources:
  - aws

Is it possible that there is user-data that k3OS cloud-config is picking up that could be gumming up the works? It treats a shebang as a script and with source it from /run/k3os/userdata. Anything else is assumed to be k3OS-flavor cloud-config YAML

Thanks for the reply!
That above file is what I paste verbatim into the AWS user-data for the instance to do the takeover.  Without the write_files it works fine.  Do you think something about the write_files section would mess it up?

I just tested instead of putting the above file in the user_data like I usually do I logged into the ubuntu host and ran it after the host booted.  That way user_data was empty.  Same net issue, cannot login to the host with the write_data block in the yaml.

The problem is with the permissions on the write_files: it should be a string. I was able to test this on a live k3OS system by dropping your config.yaml generated from the script at /var/lib/rancher/k3os/config.yaml and then running sudo k3os config --dump to force the system to parse it but not apply it. The result:
ERRO[0000] json: cannot unmarshal number into Go struct field File.writeFiles.permissions of type string

I knew it was something silly!  Thank you.
That command helps a ton btw, will use that for a sanity check from now on.
I haven't messed with packer before, but if it allows me to build an ami without the spin,install,reboot, snapshot cycle I'm all for it!


INSTALL APP

Dev Home version
0.503.261.0
🌐 Language
ENGLISH
❌ Actual phrase(s)
NOT ABLE TO INSTALL APP WHEN CLICKING ON INSTALL APPS OPTION
✔ Expected phrase(s)
MUST BE AINSTALLED APPS
Why is the current translation wrong
NO APPS ARE BEING INSTALLED

Please don't open multiple issues for the same problem, we saw #1600.


Update openai.py

Fixed bug in astream_chat
Description
Azure openai api when used in astream_chat mode with query engine tools returns error :
`query_engine_tools = [
QueryEngineTool(
query_engine=vector_engine,
metadata=ToolMetadata(
name="ask_vector_engine", description="Tool to query vector db to get questions answered from related files , good to fetch detail if specific"
),
),
QueryEngineTool(
query_engine=graph_query_engine,
metadata=ToolMetadata(
name="ask_knowledge_index", description="Tool to query knowledge graph index , use this tool to fetch relations and then use vector engine to detail the answer ,use recursively until statisfied"
),
),
]
agent= OpenAIAgent.from_tools(query_engine_tools, verbose=True,llm=AZURE_LLM)
response = await agent2.astream_chat(
"hi what is the pdf's about ?"
)
response_gen = response.response_gen
async for token in response.async_response_gen():
print(token, end="")
The error was
WARNING:llama_index.chat_engine.types:Encountered exception writing response to history: 'arguments'
`
Fixes # (issue)
Type of Change
Please delete options that are not relevant.

[ ☑] Bug fix (non-breaking change which fixes an issue)

How Has This Been Tested?
Please describe the tests that you ran to verify your changes. Provide instructions so we can reproduce. Please also list any relevant details for your test configuration

[ ☑] I stared at the code and made sure it makes sense

Suggested Checklist:

[ ☑] I have performed a self-review of my own code
[ ☑] I have commented my code, particularly in hard-to-understand areas

Is this also going to be an issue for the non-async streaming function?

Is this also going to be an issue for the non-async streaming function?

yes seems to be an issue with all streaming functions


go operator v1.0.0 instructions are failing on Expected in: flat namespace

Bug Report
What did you do?
followed the quickstart instructions for creating a go operator using operator v1.0
What did you expect to see?
all instructions working without errors
What did you see instead? Under which circumstances?
getting this error :
% make docker-build docker-push IMG=xxxxxxxxxx/memcached:test
/Users/ariv/.go/bin/controller-gen object:headerFile="hack/boilerplate.go.txt" paths="./..."
go fmt ./...
go vet ./...
/Users/ariv/.go/bin/controller-gen "crd:trivialVersions=true" rbac:roleName=manager-role webhook paths="./..." output:crd:artifacts:config=config/crd/bases
mkdir -p /Users/ariv/git/test/memcached-operator/testbin
test -f /Users/ariv/git/test/memcached-operator/testbin/setup-envtest.sh || curl -sSLo /Users/ariv/git/test/memcached-operator/testbin/setup-envtest.sh https://raw.githubusercontent.com/kubernetes-sigs/controller-runtime/master/hack/setup-envtest.sh
source /Users/ariv/git/test/memcached-operator/testbin/setup-envtest.sh; fetch_envtest_tools /Users/ariv/git/test/memcached-operator/testbin; setup_envtest_env /Users/ariv/git/test/memcached-operator/testbin; go test ./... -coverprofile cover.out
**dyld: Symbol not found:
Referenced from: /Users/ariv/git/test/memcached-operator/testbin/bin/kube-apiserver
Expected in: flat namespace
make: *** [test] Error 134**
Environment

operator-sdk version:

1.0.0

go version:

1.15 darwin/amd64

Kubernetes version information:

Client Version: version.Info{Major:"1", Minor:"18", GitVersion:"v1.18.6", GitCommit:"dff82dc0de47299ab66c83c626e08b245ab19037", GitTreeState:"clean", BuildDate:"2020-07-16T00:04:31Z", GoVersion:"go1.14.4", Compiler:"gc", Platform:"darwin/amd64"}

Kubernetes cluster kind:

eventually want to deploy it to openshift v4.3.28_1532

Are you writing your operator in ansible, helm, or go?

Go

Hi @arivatibm,
Could you please try to follow up the steps again? See **dyld: Symbol not found:. Shows that you added some invalid characters in your project.  You might by mistake make something wrong in the copy and paste.
Also, note that  make docker-build docker-push IMG=xxxxxxxxxx/memcached:test and see the quickstart note;

You need to build and push the IMG to a valid and public repository. For example, you can check the mine to do tests: https://quay.io/repository/camilamacedo86/memcached-operator?tab=tags.
It would be make docker-build docker-push IMG=quay.io/camilamacedo86/memcached-operator:0.0.1.

Also, I m closing this one because by following the steps we are unable to reproduce your issue. It shows that you really add some wrong characters in the copy/paste action and you are not pushing the image to a valid and public repository. However, feel free to ping us if you still requiring some help with it.


Error Importing USGS 3DEP DEM

Hello,
First of all, thank you for creating this amazing plugin!
I'm having issues importing USGS 3DEP DEM using the "Get REST Topography" Component -- Getting the 1. Solution exception:Index (zero based) must be greater than or equal to zero and less than the size of the argument list. Error.
Strangely enough, It had worked for me just a couple of weeks ago, and I have not modified the script since then.
Thank you for your help!

I'm glad you like it!  What version of Heron are you running?  And can you either post your definition or a screenshot?

Hi,
Of course. Please see attached. (Attaching gh file as a zip because .gh not supported on Github)
![error](https://user-images.githubusercontent.com/71403886/1
Heron_Import_DEM.zip
81411393-fb8f88aa-59a6-4f81-8f8d-a88461fd9689.PNG)

I see now that I had modified the 3DEP end point query to enable a custom SRS.  This was done as part of the Heron SRS feature I'm currently working on where you can have Heron work in any SRS you'd like.  The https://github.com/blueherongis/Heron/commit/390b71503765791c1f0b97e2a2955ca76585d79b commit that changed the query:

I have reverted back to get the 3DEP service working again.  Let me know if this worked for you.

that solved it. Thank you!


Compile fails with -Werror=unused-function

I imported duktape into PacRunner to handle proxy PAC scripts.
The build fails because it uses -Werror=unused-function:
duktape/duktape.c:9796:19: error: ‘duk_err_unsupported_defmsg’ defined but not used [-Werror=unused-function]
DUK_INTERNAL void duk_err_unsupported_defmsg(duk_hthread *thr, const char *filename, duk_int_t linenumber) {

For the GCC/DUK_SINGLE_FILE build, this can be avoided by adding __attribute__((unused)) to the definition of DUK_INTERNAL, thus:
#define DUK_INTERNAL static __attribute__((unused))

Duktape doesn't attempt to guarantee a warning-free compilation - it's very difficult when supporting a lot of compilers (sometimes the needed fixes conflict between two compilers, for example). But I'll of course try to fix any warnings that pop up in practice.
For this particular case, the issue has been fixed in master. It's present in 1.5.0 and e.g. Clang warns about it (gcc 4.8.4 does not). I'll make a note to fix this in 1.5 maintenance.

Understood. And making functions actually disappear just because there don't happen to be any callers would be really hard, potentially involving a horrid mess of #ifdefs.
But adding attribute((unused)) to DUK_INTERNAL seems like a simple enough and non-intrusive solution.

Hmm, GCC documentation says:

This attribute, attached to a variable, means that the variable is meant to be possibly unused. GCC will not produce a warning for this variable.

So maybe that wouldn't be too much of a stretch. Same for Clang:

When passing the -Wunused flag to Clang, entities that are unused by the program may be diagnosed. The [[maybe_unused]] (or __attribute__((unused))) attribute can be used to silence such diagnostics when the entity cannot be removed. For instance, a local variable may exist solely for use in an assert() statement, which makes the local variable unused when NDEBUG is defined.

That matches the Duktape portability issue - and there are in fact many variables which are defined only when assertions are enabled for example (not just functions).
I'll see if this could be worked in, for functions and also for local variables which are config dependent. It's indeed a bit painful to manage the #ifdef conditions manually :)
I'll also need a solution for MSVC to be able to actually omit those #ifdefs though.

This should now be fixed in master, v1-maintenance, and v1.5-maintenance. There's no MSVC equivalent yet however so there's still a need to try to keep unused function #ifdefs in sync with their call sites.


consolidate docker/pre_requisites.yaml

Each role has its own (yet mostly the same) pre_requisites.yaml, making it hard to update. It is ideal to consolidate them into one place.

Yeah i've been thinking about that too as it's really painful and dumb to copy/paste the content to each roles.
I think the logic should go in ceph-common, at some point we were discussing with @dang to do a lot of the container configuration upfront using ansible and then just let the container entrypoint start the process.
I think it makes a lot of sense and greatly simplifies the code, we have all the necessary bits in ceph-ansible to configure/populate ceph directories (daemons bootstraps in /var/lib/ceph/) so we don't need to replicate that logic in bash entrypoints :). Well we have been doing this actually but we should stop now :p
The use case is valid for everything expect k8s where I don't think we can plug ansible.

Done.


[ios]Reduce final binary size.

Platform
ios
Author or host
host
Version of SDK
1.1
Issue
Current size of adaptive cards sdk is 19 MB in the final archive of our Teams app. Can you please slice down the sdk files using Apple's app size reduction guidelines :
App Thinning : https://developer.apple.com/videos/play/wwdc2015/404/
On-Deman Resources: https://developer.apple.com/videos/play/wwdc2015/214/

closing this.
binary size got increased after enabling bitcode.
bitcode allows Apple to optimize the binary size; what's important is the final binary size of the hosting app.


Update inscriptions.json

https://ordinalswallet.com/inscription/fa7c3d17a8c89f6c105a7cec7396803aba0029960a02313bb1a3ab4d68e49e0ci0
Buy a poor girl NFT

close pr. reason: see later pr #2441


[Joy] Add theme palette builder

Preview: https://deploy-preview-35741--material-ui.netlify.app/joy-ui/customization/theme-builder/
Motivation
I need a tool that I can tweak the colors:

replace the default palette with other design palettes (e.g. tailwind, stripe)
add more tokens/remove the default tokens
see how global variant change

and at the end, copy the code and the generated types (it isn't very pleasant to always look up the interfaces (TypeScript) to augment the theme).
or start building a prototype/reproduction in the sandbox.
Goal
Having a simple and friendly tool to get started with custom colors (maybe the name should not be "Theme builder" because it sounds complicated).
Target users

Developers who are not experienced/start learning Joy UI.
Developers who want to do a quick prototype.

It's quite interesting! I think that the main problem this tool could solve for the community is:
a. having a quick customization tool for YOLO projects (indie developers) or developers working on internal tools, where they can't involve a designer, and still need the thing to feel on brand.
b. having the code to understand how the customization work, you can change something, and then see the impact.
Otherwise, feedback on what I can identify:

I almost couldn't find this panel, I think that we could think of a way to make it easier to discover.

It would be great to have a Joy Design color palette before Tailwind CSS's one.
I think that we need to add analytics to this tool and check how it evolves. The goal is to see how people are using it. It's important to get a sense of whether is it used or not. Compare it to the Material UI color picker tool. This way we could find issues with discoverability or issue with tool<>use cases.
I'm quite curious about having an advanced version of this tool in Figma. I mean, I would expect the most advanced customization to be done by designers on the Figma design kit or developers in their localhost, live with the pages they built. For this tool in the docs, I suspect that it could ideal to focus on the simplest customization use cases. We have https://www.notion.so/mui-org/MUI-Theme-builder-62d796eebeea43078d188934d4acffa6 to talk about how we solve the advanced customization use cases.
https://themera.vercel.app/ feel simple, you pick one color and the variations are generated for you. To consider
A live feedback on the value hovered in could make it easier
It would be good to force the position of the select list below the select button:

It would help

I have found an issue with the z-index of the select which leads me to a rabbit hole 🐇:

@siriwatknp I can't find a theme.zIndex in Joy UI. Should we consider this to solve elevation conflicts? I would imagine that it's most beneficial when adding Joy UI to an existing codebase that has a different zIndex elevation convention. So maybe one base zIndex value is enough, then use it for Modal, Tooltip, Select, Autocomplete.
@michaldudak the MUI Base Select doesn't have the portal behavior anymore: https://mui.com/base/react-select/. I would expect this to be a blocker for the community to Material UI to MUI Base, e.g. #7431, #2632. I have created a reproduction https://codesandbox.io/s/sleepy-smoke-24ojx6?file=/demo.js.
https://mui.com/base/react-select/#introduction JavaScript version show the TypeScript version. It's because we wrote {{"demo": "UnstyledSelectIntroduction.tsx", "defaultCodeOpen": false, "bg": "gradient"}} and not {{"demo": "UnstyledSelectIntroduction.js", "defaultCodeOpen": false, "bg": "gradient"}}. It would be great to throw a JavaScript Error when this case happens (I mean when we use a .tsx demo directly without "hideToolbar": true). @mj12albert may be a small bug to work on to get you familiar with the codebase.

a. having a quick customization tool for YOLO projects (e.g. indie developers) or developers working on internal tools (where they can't involve a designer, and still need the thing to feel on brand).
b. having the code to understand how the customization work, you can change something, and see the impact live.

Absolutely, yes. This tool is for developers, not designers. You summarized it very well.

I almost couldn't find this panel, I think that we could think of a way to make it easier to discover. It would be great to have a Joy Design color palette before Tailwind CSS's one.

I see, will make it bold and may be using a modal to show more palettes. Also, will add a reset button.

I think that we need to add analytics to this tool and check how it evolves. The goal is to see how people are using it. It's important to get a sense of whether is it used or not. Compare it to the Material UI color picker tool. This way we could find issues with discoverability or issue with tool<>use cases.

Adding event tracking on the "show me the code" and "Open sandbox" should be enough to see how many people are using it.

I'm quite curious about having an advanced version of this tool in Figma. I mean, I would expect the most advanced customization to be done by designers on the Figma design kit or developers in their localhost, live with the pages they built.

To be clear, let's separate the advanced version of this PR. I created a Notion page to brainstorm ideas.

https://themera.vercel.app/ feel simple, you pick one color and the variations are generated for you. To consider

That'd be nice too (maybe in a separate PR). I can see its use case where I have a single branding color and I want to generate a palette for it.

A live feedback on the value hovered in could make it easier. I would also like to see where the default

Agreed

It would be good to force the position of the select list below the select button:

Sounds good.

@oliviertassinari Here is the update on the browsing palette. Is this better than the previous version?
https://user-images.githubusercontent.com/18292247/215008594-e3b84e29-b302-41ee-9a2b-fe30b9ef6392.mov

@siriwatknp It looks awesome 🔥

Wait for #36006 to be able to remove default token from theme (typescript)

I saw a bug with the Dialog, the scrollbar doesn't show:

A suggestion from @danilo-leal

i love this, Jun ⎯ thanks for sharing! I have a couple of thoughts, though, about the interaction:
the flow is: selected palette key (primary, neutral, etc), click on browse palette, choose from a source. after that's done, I think I'd appreciate seeing that source again in the scale panel.
so, say I click on "amber" from Tailwind, as you've done. I'd like to see "using amber from Tailwind CSS ⎯ change here" or something like that.
though I see there's a redundancy with the "Browser palette" button too, so it's worth studying further
aside from that, the idea of having the templates to be cloned right there is amazing!

Thanks for pasting it here, @siriwatknp ⎯ I should've done that 🤦 Either way, I just pushed a few changes tweaking the component design + copywriting. Nothing drastic to be honest as flow-related changes are more complex than I can handle... 😬 This component is a surprisingly intricate piece of code.

Whoops ⎯ sorry about that ☝ accidental misclick.

@danilo-leal I think it is too complicated to show "using amber from Tailwind CSS ⎯ change here". The logic is I have to iterate all of the predefined colors (from tailwind and material design) and check if the custom palette matches any of those or not. If we have more palettes, when token changes we have to recalculate. This might not be performant.

This component is a surprisingly intricate piece of code

I have extracted some utilities with tests. I think the code will be more organized when we add more things to the theme builder. I don't think we need to extract everything at this point because all of the components are used on this page.

One thing that I thought about though: I know the light / dark toggles within the ThemeBuilder component are independent of the global docs one but shouldn't we make it follow the docs regardless? That is, maintaining the capacity to override the docs but if I turn the whole docs to dark, maybe the Builder should go dark too... or no? Felt like that was something intuitive

Nice catch! it is fixed.

Just saw this one, looks super duper good. Well done 🎉


Enhancement to generating top expected value lineup

Thanks for creating this! I wanted to share a pruning algorithm that ensures maximum expected value and may be useful for players wanting the top lineup optimized towards one category. This can be an alternative approach to what you mentioned here https://pydfs-lineup-optimizer.readthedocs.io/en/latest/performance-and-optimization.html
Prunes player pool to generate maxium expected value follows:
    if a player has a higher predicted score and lower salary, remove all players with a higher salary than the player
Additionally
    if all position spots are unused, keep up to the remaining number of slots left
    with a lower score than the player we are on but higher predicted point total than the next best option
Here's an example:
    Odell beckam  salary 8000 predicted 19
    Alshon Jeffrey salary 7900 predicted 20
    Mohammed sanu salary 5100 predicted 15

Because there are 3+1 spots for WR (including FLEX), we can't remove odell beckham because he would contribute more
to our point total than removing him. If there was only 1 WR slot we'd be safe to remove him.
I can create a PR some day if your interested. I've used this over at https://www.blog.sportsdatadirect.com/2018/08/22/draftkings-2018-millionaire-maker-recaps/ and have consistently been able to find the top lineups possible using my pruned player pool. Using your pulp solver version I've gotten matching results for 6 out of 6 weeks I tested with my pruning alg

It will be cool if you create PR with your algorithm. Honestly, I don't understand second part of your issue description about Beckham

are there specific pros you follow on draftkings / study lineups from? that website is really great, have never seen it before..
im wondering how he determines what is a professional player in his data

Pruning is useful to speed up the optimizer by narrowing the search space. The less choices the optimizer has to consider, the faster it will run. We know from experience that a QB with a projection of 15 is not going to end up in an optimal lineup, but the optimizer does not, and will waste time considering it.
I don't think pruning has any impact on the quality of the optimal solution, as determined by mixed integer linear programming (MILP) techniques. The positional constraints in the model already ensure that the chosen lineup is optimal given the available projections, salaries, and lineup slots. If Jeffrey is the better play given salary, position, and projection, the optimizer will detect that and put him in your lineup.
What the original poster described as a pruning algorithm sounds like a heuristic for narrowing your own player pool. I think it is useful if you are manually building lineups but you don't need to tell the optimizer who the best plays are. It will tell you based on your projections, the salaries, and any position constraints. Using the example above, if Jeffrey is a better play, then he will end up in the optimal lineup regardless of whether you use a pruning algorithm.
One reason not to prune the player pool too much is that projections are very fragile and you might eliminate good plays. In the example above, you can't have great confidence that Jeffrey will outscore Beckham, and Beckham could be a very strong play to consider. So, instead of removing players from the pool entirely before you run the optimizer, leave them in and use the randomization feature to see how the margin of error in projections changes the optimal lineup (you can specify a range for the random alteration, although the defaults are sensible).

Sorry thought I would see an email notification but just saw this.
@DimaKudosh Sounds good. Will update you when PR ready.
I'll try to elaborate on Odell Beckham. If you want to find the highest possible lineup you can't remove a player with worse points at a higher salary because of the number of players at different position groups. You need to have the top 3 plus a flex. So if you had 3 WR's and 1 Flex players with lower salary or equivalent than Odell and higher points then you can safely exclude him from the pruned player pool.
@edoublin Yes. I use rotogrinder's top 50 football rankings and then track past winners. Right now I'm working on creating my own rankings because RG's are too heavily skewed to high volume players.
@sansbacon Yes exactly. Goal is just to speed up runtime in case where it doesn't affect desired output (optimal lineup). Personally i don't prune lineups I build to play very often because of the fragility of projections but I prune when looking for the top lineup for my recaps


Default Timeout for Relay Messages

We should specify a default timeout for relay messages.

There's no ACK-like message for relay messages, so timeouts are implicitly handled by the underlying TCP connection. If we encounter issues with not having ACK-like messages in the future, I propose sending a ping message (data: CSN) directly after another send to enforce a response. @dbrgn This might be relevant for the upcoming beta test.


Idle connections thrash when pool min > 0 (i.e. by default)

I was going to raise this against generic-pool-redux, but I'm not sure if it's not perhaps an issue with a missing config option here in knex.
The default minimum pool size in knex is 2, so by default 2 connections are kept active at all times.
At the same time, there is an idle timeout set to 30 seconds in generic-pool-redux, which cleans away idle connections.
The result is that by default connections are opened and closed every 30 seconds whenever a client is idle. This isn't much of an issue, until you start scaling the number of clients talking to a database. Then the thrashing LOGN & QUIT requests activating and deactivating idle connections starts blocking real requests from being able to access the database.
Setting min:0 stops the thrashing, but I don't think this behaviour is correct, especially not as the default behaviour for the library.
Perhaps there is or should be a way to stop idle connections from being cleaned away when there is a min > 0, or perhaps the default min should be 0?

@tgriesser I don't think this ever got looked into - should it perhaps have an issue on generic-pool-redux?

@wubzz is this considered fixed, or has it moved?

Hi @wubzz you closed this issue but I'm not able to find any reference to what the solution was, could you please let me know?

@ErisDS  Sorry, was sure I put a comment here.. I closed this because of a few reasons:

Default min has been 0 for a long time
generic-pool-redux hasn't been a dependency of knex since 2015
There's been a lot of pool related changes since 0.7.0

Knex uses pool2 for pooling now.
If there's still an issue here, you're free to reopen it.

Ok cool, so the default changed - that's a good start. I also went and read the pool2 docs and they say this:

idleTimeout

An integer, in milliseconds, to specify how long a resource must be idle before it may be disposed of. Resources are periodically checked (see syncInterval below) for idleness, and idle resources are disposed of unless they would bring the pool below the configured min value.

This sounds like the logic in pool2 will result in much better behaviour. Thanks for the info!

I think this has become an issue again with the switch to generic-pool for pooling as of 0.12.0. We definitely see it with 0.12.9.


Remove Sigil-Ebook.Sigil 1.6.0

null
Microsoft Reviewers: Open in CodeFlow

2022-08-31 06:59:54.759   Message box (Yes/No):
                          The option to check for/install the VS
                          runtime is unchecked. Please make sure a
                          compatible version of the Visual Studio
                          VC++ runtime is already installed (by you
                          or an admin), or click "No" and check
                          the box before proceeding.

                          You will need admin privileges to
                          to install the runtime.

                          Do you wish to proceed as is?

Duplicate of https://github.com/microsoft/winget-pkgs/pull/74848

@wingetbot run

You need to check for existing PRs before opening duplicates and misusing wingetbot run to remove Needs-Author-Feedback.

That's a basic requirement suggested in the PR template.


Optimization for 2 labels in mixed tensor dot prodcut

We are trying to achieve tensor multiplication between 2 mixed tensors.
One with 2 mapped dimensions and one with a single mapped dimension.
We'd like to join by the model (which in practice is only a single model on the query tensor), and then multiply all relevant item tensors with the query tensor.
M: tensor(model{}, item_id{}, x[128])
V: tensor(model{}, x[128])

function:
reduce(query(V) * attribute(M), sum, x, model)

The problem we're facing is that we're seeing a performance hit when doing this.
Adding the model label reduced our throughput dramatically (3.7k qps -> 1k qps).
(3.7k qps was same but excluding the model logic - so a single label dimension for item_id)
Can this be optimized (in the same way single label lookup is optimized)?
Link to full behavior we're trying to achieve in playground, the example includes both the wanted first phase ranking and the wanted summary:
Playground link
Slack thread:
https://vespatalk.slack.com/archives/C01QNBPPNT1/p1689665359048739?thread_ts=1689661702.413099&cid=C01QNBPPNT1
Thanks!

@bratseth @jobergum

Adding the model label reduced our throughput dramatically (3.7k qps -> 1k qps).
(3.7k qps was same but excluding the model logic - so a single label dimension for item_id)

Are you comparing tensor(model{}, item_id{}, x[128]) with tensor(item_id{}, x[128]) ? And what was the cardinality of model in the experiment?

@jobergum Exactly.
Tried both with 4 models and with 20.

It should be faster to select the model first, then do the multi-dot-product:
M: tensor(model{}, item_id{}, x[128])
QM: tensor(model{})
QV: tensor(x[128])

function:
reduce(query(QV) * reduce(query(QM) * attribute(M), sum, model), sum, x)
For your case (lookup) QM is just a selector like {{model:wanted_by_query}:1.0}

@arnej27959 I tested it, still bad performance. (maybe slightly better, 1k->1.1k qps - still comparing to 3.7qps is bad perf)

Tested it and didn't see an improvement

If you are only using a single model at a time and want the best performance I suggest putting the different models in different attributes.
Annotating every value in the combined model with the name of the original model entangles the data in a way that is hard to compensate for at run-time without extra overhead (even when looking past the limitations of the current implementation). Finding all values that belong to a specific model will typically require a linear scan through the combined model. Also, since all models are stored as a single tensor, the memory layout typically makes this less optimal for data reads since all values for a single model may not be stored next to each other. Also, as a side-effect of untangling the model name from the item id we also need to make a new hash table for the item id when producing the result (this hash table could be re-used directly from the attribute if it was not entangled).
Creating a specific optimizer for your case (the complete expression) would probably help quite a bit, but it would still have all the overhead problems mentioned above. The major gain would be the ability to perform the actual dot products much more efficiently without costly intermediate results.

I see.
If we were to put each model in separate attribute, but still use this structure just to handle versioning (until feeding of new version is complete). That would mean this structure would store only 2 versions, rather than all models and all versions.
Does this still come with an overhead?

We now have a new optimization (universal dot product) that has been enabled in version 8.227.20
Any operation looking like a dot product (mul then sum) where both inputs have mapped dimensions will be picked up by this optimization. You may consider benchmarking your specific case (when a new enough Vespa version is released) to see if the convenience is worth the overhead. In my micro-benchmark I got a speed-up of 7-8 times with 2 models mangled together, but it was still ~3 times slower than the case without model ids.

Following up on what @shelliglick started.
We've upgraded Vespa to version 8.320.68 and tested 2 approaches:

One phase dot product:

M: tensor(model_id{}, item_id{}, x[128])
V: tensor(model{}, x[128])

function dot_product() {
        expression: reduce(query(V) * attribute(M), sum, model_id, x)
}

Two phase dot product:

M: tensor(model_id{}, item_id{}, x[128])
QM: tensor(model{})
QV: tensor(x[128])

function dot_product() {
        expression: reduce(query(QV) * reduce(query(QM) * attribute(M), sum, model_id), sum, x)
}

We compared the 2 approaches to using a field per model (control):
M: tensor(item_id{}, x[128])
V: tensor(x[128])

function dot_product() {
        expression: reduce(query(V) * attribute(M), sum, x)
}

We've also tested a different number of models in the "multi model" field (but only used 2 of them in each test)
Here are the results of the test:

This is much better than the last version. Thanks for a great job!
Unfortunately, this still does not meet our performance requirements.
Are there any other optimizations you think we can do? (Other than creating a field per model)
Thanks!


Nested test classes not included in test reports

When a test is enclosed by a nested inner class, then this class is not included in test reports.
Example:
package sample;
class NestedTests {
  @Nested
  class First {
    @Test
    void firstTest() {}
  }
}

Reports sample.NestedTests as classname and firstTest() as test name.

This issue has been temporarily fixed by prepending nested classes to the test name, e.g. $First#firstTest().


@angular-devkit/build-angular ---> glob_parent DOS

Q. will you upgrade build-angular to webpack 5 ?
currently it is at a version which has (dev) security vulnerabilities
npm audit:
{
  "actions": [
    {
      "action": "review",
      "module": "glob-parent",
      "resolves": [
        {
          "id": 1751,
          "path": "@angular-devkit/build-angular>webpack-dev-server>chokidar>glob-parent",
          "dev": true,
          "optional": false,
          "bundled": false
        },
        {
          "id": 1751,
          "path": "@nrwl/nest>@nrwl/node>webpack>watchpack>watchpack-chokidar2>chokidar>glob-parent",
          "dev": true,
          "optional": true,
          "bundled": false
        },
        {
          "id": 1751,
          "path": "@nrwl/node>webpack>watchpack>watchpack-chokidar2>chokidar>glob-parent",
          "dev": true,
          "optional": true,
          "bundled": false
        }
      ]
    },
    {
      "action": "review",
      "module": "css-what",
      "resolves": [
        {
          "id": 1754,
          "path": "@angular-devkit/build-angular>css-minimizer-webpack-plugin>cssnano>cssnano-preset-default>postcss-svgo>svgo>css-select>css-what",
          "dev": true,
          "optional": false,
          "bundled": false
        }
      ]
    }
  ],
  "advisories": {
    "1751": {
      "findings": [
        {
          "version": "3.1.0",
          "paths": [
            "@angular-devkit/build-angular>webpack-dev-server>chokidar>glob-parent"
          ]
        },
        {
          "version": "3.1.0",
          "paths": [
            "@nrwl/nest>@nrwl/node>webpack>watchpack>watchpack-chokidar2>chokidar>glob-parent",
            "@nrwl/node>webpack>watchpack>watchpack-chokidar2>chokidar>glob-parent"
          ]
        }
      ],
      "id": 1751,
      "created": "2021-06-07T21:57:10.135Z",
      "updated": "2021-06-07T21:58:07.745Z",
      "deleted": null,
      "title": "Regular expression denial of service",
      "found_by": {
        "link": "",
        "name": "Anonymous",
        "email": ""
      },
      "reported_by": {
        "link": "",
        "name": "Anonymous",
        "email": ""
      },
      "module_name": "glob-parent",
      "cves": [
        "CVE-2020-28469"
      ],
      "vulnerable_versions": "<5.1.2",
      "patched_versions": ">=5.1.2",
      "overview": "`glob-parent` before 5.1.2 has a regular expression denial of service vulnerability. The enclosure regex used to check for strings ending in enclosure containing path separator.",
      "recommendation": "Upgrade to version 5.1.2 or later",
      "references": "- [CVE](https://nvd.nist.gov/vuln/detail/CVE-2020-28469)\n- [GitHub Advisory](https://github.com/advisories/GHSA-ww39-953v-wcq6)\n",
      "access": "public",
      "severity": "moderate",
      "cwe": "CWE-400",
      "metadata": {
        "module_type": "",
        "exploitability": 5,
        "affected_components": ""
      },
      "url": "https://npmjs.com/advisories/1751"
    },
    "1754": {
      "findings": [
        {
          "version": "4.0.0",
          "paths": [
            "@angular-devkit/build-angular>css-minimizer-webpack-plugin>cssnano>cssnano-preset-default>postcss-svgo>svgo>css-select>css-what"
          ]
        }
      ],
      "id": 1754,
      "created": "2021-06-07T22:13:06.506Z",
      "updated": "2021-06-07T22:21:16.027Z",
      "deleted": null,
      "title": "Denial of Service",
      "found_by": {
        "link": "",
        "name": "Anonymous",
        "email": ""
      },
      "reported_by": {
        "link": "",
        "name": "Anonymous",
        "email": ""
      },
      "module_name": "css-what",
      "cves": [
        "CVE-2021-33587"
      ],
      "vulnerable_versions": "<5.0.1",
      "patched_versions": ">=5.0.1",
      "overview": "`css-what` before 5.0.1 does not ensure that attribute parsing has Linear Time Complexity relative to the size of the input.",
      "recommendation": "Upgrade to version 5.0.1 or later",
      "references": "- [CVE](https://nvd.nist.gov/vuln/detail/CVE-2021-33587)\n- [GitHub Advisory](https://github.com/advisories/GHSA-q8pj-2vqx-8ggc)\n",
      "access": "public",
      "severity": "high",
      "cwe": "CWE-400",
      "metadata": {
        "module_type": "",
        "exploitability": 7,
        "affected_components": ""
      },
      "url": "https://npmjs.com/advisories/1754"
    }
  },
  "muted": [],
  "metadata": {
    "vulnerabilities": {
      "info": 0,
      "low": 0,
      "moderate": 3,
      "high": 1,
      "critical": 0
    },
    "dependencies": 600,
    "devDependencies": 1749,
    "optionalDependencies": 153,
    "totalDependencies": 2459
  },
  "runId": "89df43d4-3fb8-4eb4-b2e8-c079486ebb88"
}

Angular CLI: 12.0.4
Node: 14.8.0
Package Manager: npm 6.14.7
OS: darwin x64
Angular: 12.0.4
... animations, cdk, cdk-experimental, cli, common, compiler
... compiler-cli, core, forms, language-service, material
... platform-browser, platform-browser-dynamic, router
Package                         Version
@angular-devkit/architect       0.1200.4
@angular-devkit/build-angular   12.0.5
@angular-devkit/core            12.0.4
@angular-devkit/schematics      12.0.4
@angular/flex-layout            12.0.0-beta.34
@angular/localize               11.2.14
@schematics/angular             12.0.4
rxjs                            6.5.5
typescript                      4.2.4

Kindly see https://github.com/angular/angular-cli/issues/21097 and https://github.com/angular/angular-cli/issues/20795


SqlServer LocalDB occasionally fails to initialize correctly

Description
For the past few weeks, I've been encountering what seems to be more and more errors when connecting to SQL Server LocalDB. After some investigation, it seems LocalDB either doesn't initialize or initializes in a broken state once every few runs.
Platforms affected

[ ] Azure DevOps
[X] GitHub Actions - Standard Runners
[ ] GitHub Actions - Larger Runners

Runner images affected

[ ] Ubuntu 20.04
[ ] Ubuntu 22.04
[ ] macOS 11
[ ] macOS 12
[ ] macOS 13
[X] Windows Server 2019
[X] Windows Server 2022

Image version and build link
https://github.com/Cyberboss/actions_testbed/actions/runs/5260405046
Is it regression?
Possibly
Expected behavior
Consistently able to connect to LocalDB
Actual behavior
Spurious connection failures to local DB
Repro steps
2022*80+ 2019*80 matrix job definition (The matrix names don't matter except for os):
name: LocalDB Failure

on:
  workflow_dispatch:
jobs:
  test:
    name: Windows Live Tests
    strategy:
      fail-fast: false
      matrix:
        database-type: [ 'SqlServer', 'Sqlite', 'PostgresSql', 'MariaDB', 'MySql' ]
        watchdog-type: [ 'Basic', 'System' ]
        configuration: [ 'Debug', 'Release' ]
        more-jobs: ['a','b']
        even-more-jobs: ['c','d']
        os: ['windows-2019','windows-2022']
    runs-on: ${{ matrix.os }}
    steps:
    - name: Check LocalDB Connection
      shell: powershell
      run: |
        Write-Host "Checking"
        sqlcmd -l 60 -S "(localdb)\MSSQLLocalDB" -Q "SELECT @@VERSION;"

Increasing connection timeout to 10 minutes seems to have helped. Still pretty slow.


Change size

How can I change the width and height of the button frame

The only way to change the size of the button itself is using button.imagePadding = 20.0f;.
The button the way is build needs to have always the same height and width.

This button size depends on its image size. Can we resize it?

As mentioned above:

The only way to change the size of the button itself is using button.imagePadding = 20.0f;.
The button the way is build needs to have always the same height and width.

Thank you, @manuelescrig


block::Header is annoying to use

Perhaps I went too far with the BlockHeader -> block::Header rename. I've had some feedback that it is annoying to use and folks are using use bitcoin::block::Header as BlockHeader. Was the rename overly dogmatic, perhaps we should revert to BlockHeader
cc @stevenroose

FTR what I was trying to achieve was uniforimity in our types with the idea that if the need further describing they should use the module name not have a longer identifier e.g. taproot::Signature, block::Header.

A large part of the annoyance is that it's a breaking change. In my head, modules have two functions: organizing code in clusters and structurizing the API. The whole blockdata, script, tx etc stuff to me mainly has the former function and all types are just exposed on the root of the lib, while users don't really need to know where all these types live. On the other hand, the bip32, taproot, sighash modules most have the latter function. They bundle some functionality that at the API level belongs together and is independent.
Anyway, I think a pub use block::Header as BlockHeader; in the lib.rs would be useful to make it no longer a breaking change.
But I think it would make sense to actually make this distinction hard in some way. In my mind that's what util mostly did. Everything inside util were basically independent modules, while everything outside util was just a way to organize all the core types and functionality of the crate.

A large part of the annoyance is that it's a breaking change.

Yes, change sucks :)

In my head, modules have two functions: organizing code in clusters and structurizing the API.

This is exactly what we are trying to separate - the aim is to have the public types/modules only describe the API, all organisational modules should be private (pub(crate).

The whole blockdata, script, tx etc stuff to me mainly has the former function and all types are just exposed on the root of the lib,

blockdata is done I believe, we can make it private for 0.31

On the other hand, the bip32, taproot, sighash modules most have the latter function.

By this release they should not have that purpose any more, there are some things in sighash that are not perfect yet (because of the ongoing ecdsa splitting)

Anyway, I think a pub use block::Header as BlockHeader; in the lib.rs would be useful to make it no longer a breaking change.

Are you suggesting a 0.30.1 point release with this in? Or a revert of the change that will go in 0.31.0 in six months?

But I think it would make sense to actually make this distinction hard in some way.

The API/module separation is not totally complete, especially the re-exports but I personally made an effort to push it in this direction for 0.30.0. I think we (@apoelstra, @kixunil, @sanket1729) are on the same page, mentioning them so they can say if not.
One other related thing, we are trying to put only modules/types in the crate root that are part of the Bitcoin vernacular, so bitcoin::PublicKey but bitcoin::script::PushBytes. Also we are trying (at least this is my understanding) to use modules to disambiguate not identifiers (e.g., script::Builder not ScriptBuilder) - this is how I got to the block::Header change :)
FTR its super useful to have you come back and ask these questions because it helps by having to write it down and others can read it, since I may have misconstrued things - this stuff is just to the best of my understanding from the last year.

I personally wrote use bitcoin::blockdata::block::Header as BlockHeader because I didn't notice we have block re-exported and it was minimal amount of change to get the old code working. I do like block::Header, I just wanted to upgrade fast.
I can't think straight about the other stuff rn.

+1 to releasing a re-export as BlockHeader and then cutting a point release. I also like block::Header but agree it's not very discoverable.
As for the wider API changes, I have been slowly chipping away at parsing the rustdoc JSON output into something I can use to visualize the entire API, since I've been mostly locally ACKing changes but don't have a clear coherent vision still.

If some people would be more active (yes looking at myself), it would make sense to tag a RC and then do some of the dep bump work on dependent crates like hal and core-rpc to see how the changes affect them. :roll_eyes:

then cutting a point release

We will need to cherry pick it into a different branch since master already contains breaking changes.

tag a RC and then do some of the dep bump work on dependent crates like hal and core-rpc to see how the changes affect them

I actually did this for a few projects and opened a few issues that got resolved before the release. I considered what was left fine, including missing BlockHeader.

Now thinking about it I'm not sure I like re-exporting BlockHeader. There's a shitload of stuff already re-exported cluttering the docs. IME BlockHeader is not nearly as used as Transaction and its parts, so not re-exporting may be better.

I hear breaking changes and wonder if a pre-release would be more appropriate than a point bump to get into the new pattern

I don't think RC would help much. Either way you need to manually bump Cargo.toml. At best it'd make it easier to get bitcoin_hashes and secp256k1 in sync so that possible issues could be reported. (You could do the same with [patch...] but it's a bit annoying.)

Now thinking about it I'm not sure I like re-exporting BlockHeader. There's a shitload of stuff already re-exported cluttering the docs. IME BlockHeader is not nearly as used as Transaction and its parts, so not re-exporting may be better.

I suggest the debate should be about renaming the type back to BockHeader as it was, not about if we should use type aliases and re-export them at the crate root (which is a slightly different debate IMO).

I do not want to rename the type if it's in the block module. I'm fine to re-export it as BlockHeader somewhere else, but if people are accessing it from its existing home they can write block::Header.

Cool, I guess this conversation is related to https://github.com/rust-bitcoin/rust-bitcoin/pull/1792#issuecomment-1504724872 and re/re-exporting hash types.

I am in favor of block::Header and not repeating module names in type names.

No strong consensus one way or the other, electing to leave it as it is. Thanks all.


Berserk Gene is missing.

Berserk Gene is missing from the items list.

No, it isn't: https://github.com/Zarel/Pokemon-Showdown/blob/master/mods/gen2/items.js#L13


Error: Cannot find module 'reactify'

I get this error... Looks like this should be babelify, but replacing that doesn't fix that either for me..

@SethArchambault  : It was babelified . kindly, check this comment
Issue is closed by commit 9fe4d73fb6fee3ad1674d1804afdd1cccc5ef36d


Modularise Thread Manager

Currently Thread Manager has params like use_xml_tool_calling & use_native_llm_tool_calling
Thread Manager has params for an optional:

tool_parser (ToolParserBase)
tool_executor (ToolExecutorBase
results_adder (ResultsAdderBase)

Which use the interface base class in base_processors.py
These essentially make the system semi-modular.
You can create a new Tool Parser, Tool Executor, Results Adder from base_processors & put them on the run_thread – it will use this PARSING – EXECUTING – RESULTS ADDING then. Semi-because it also often requires change towards the tool.py – for example for XML I added custom xml_schema & handling – I also left one open with 'custom-schema'.
Maybe a use_custom_tool_calling param to True & then it can use these optional ones you create etc...?
Idk doesn't feel modular enough with the above params as well.

If we make the Tool.py more modular its basically it


'BardAsync' object has no attribute 'SNlM0e' after update to latest version at github

my code:
bard = BardAsync(token=tokenBard)
jawaban = await bard.get_answer(q)
previously it was running normally before I updated the version

i rollback to version 0.1.30. everything working fine

i rollback to version 0.1.30. everything working fine

confirmed this worked.

We are currently overhauling bard async on the GitHub dev version. It will be a bit more organized in version 0.1.39. The synchronous version is still somewhat unstable (as it hasn't been properly optimized), so we recommend using the regular bard. Thank you.

We are currently overhauling bard async on the GitHub dev version. It will be a bit more organized in version 0.1.39. It can currently be partially checked on the GitHub dev version. The synchronous version is still somewhat unstable (as it hasn't been properly optimized), so we recommend using the regular bard. Thank you.

By dev version, are you referring to a separate repository? 'cuz I don't see any dev branch in this repository.

iafuad
Before updating to PyPI, we conveniently refer to the main branch of the GitHub version as the 'dev' version. Please download and install from the GitHub repository. Once debugging is complete, we upload the official version to PyPI. We are preparing version 0.1.39.

ahmadkeren
I will check 0.1.30 and 0.1.38

iafuad
I agree with your opinion.

The current PyPI version ( 0.1.38 )  is faulty. the older 0.1.30 is still the only one that works. I just checked this morning.

This issue has been resolved in bardapi version 0.1.39. Thank you for reporting the issue.
Bard API - version 0.1.39
$ pip install bardapi==0.1.39

$ pip install -q -U bardapi

https://github.com/dsdanielpark/Bard-API/blob/main/documents/README_DEV.md#using-bard-asynchronously
from httpx import AsyncClient
from bardapi import BardAsync
import os

# Uncomment and set your API key as needed
# os.environ['_BARD_API_KEY'] = 'xxxxxxx'
token = 'xxxxxxx'  # Replace with your actual token

SESSION_HEADERS = {
    "Host": "bard.google.com",
    "X-Same-Domain": "1",
    "User-Agent": "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.114 Safari/537.36",
    "Content-Type": "application/x-www-form-urlencoded;charset=UTF-8",
    "Origin": "https://bard.google.com",
    "Referer": "https://bard.google.com/",
}
timeout = 30  # Example timeout
proxies = {}  # Replace with your proxies if needed

client = AsyncClient(
    http2=True,
    headers=SESSION_HEADERS,
    cookies={"__Secure-1PSID": token},
    timeout=timeout,
    proxies=proxies,
)

bard_async = BardAsync(token=token, client=client)

# Asynchronous function to get the answer
async def get_bard_answer(question):
    await bard_async.async_setup()  # Ensure async setup is done
    return await bard_async.get_answer(question)

response = await get_bard_answer("나와 내 동년배들이 좋아하는 뉴진스에 대해서 알려줘")
print(response['content'])

raymerjacque
Thank you for your support. It has been a great help.
Also, you are welcome to contribute at any time by addressing new issues or refactoring packages.
We always look forward to your participation in the community. Thank you.


Update aws-core, http-client-spi, ... to 2.17.259

Updates

software.amazon.awssdk:aws-core
software.amazon.awssdk:http-client-spi
software.amazon.awssdk:netty-nio-client

from 2.17.104 to 2.17.259.
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Configure Scala Steward for your repository with a .scala-steward.conf file.
Have a fantastic day writing Scala!

Adjust future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "software.amazon.awssdk" } ]

Or, add this to slow down future updates of this dependency:
dependencyOverrides = [{
  pullRequests = { frequency = "@monthly" },
  dependency = { groupId = "software.amazon.awssdk" }
}]

labels: library-update, early-semver-patch, semver-spec-patch, commit-count:1

Superseded by #253.


C++ize TracedBuffer Interface and eliminate lock contention during getsockopt operation

The iomgr/buffer_list{.h,.cc} TracedBuffer implementation is modified to use C++ constructs so that it essentially looks similar to the traced buffer list used by posix event engine.
TracedBuffer::AddNewentry function is also modified to avoid holding a mutex when invoking getsockopt syscall

Thanks for the review!