How to unit test LightningCLI without UserWarning?

Bug description
I have a main.py file like:
from lightning.pytorch.cli import LightningCLI
from lightning.pytorch.demos.boring_classes import DemoModel, BoringDataModule

def cli_main(args = None):
    cli = LightningCLI(DemoModel, BoringDataModule, args=args)

if __name__ == "__main__":
    cli_main()

This is the same as the tutorial script but adds an args parameter to support non-interactive use. I want to unit test this file, so I create a test.py file like:
from main import cli_main

def test_cli_main():
    args = ["fit", "--trainer.fast_dev_run", "true"]
    cli_main(args)

However, every time I test my code, I see a ton of warnings:
$ pytest test.py
...
test.py::test_cli_main
  /Users/Adam/spack/var/spack/environments/system/.spack-env/view/lib/python3.10/site-packages/lightning/pytorch/cli.py:484: UserWarning: LightningCLI's args parameter is intended to run from within Python like if it were from the command line. To prevent mistakes it is not recommended to provide both args and command line arguments, got: sys.argv[1:]=['test.py'], args=['fit', '--trainer.fast_dev_run', 'true'].
    rank_zero_warn(

test.py::test_cli_main
  /Users/Adam/spack/var/spack/environments/system/.spack-env/view/lib/python3.10/site-packages/lightning/fabric/utilities/seed.py:39: UserWarning: No seed found, seed set to<PHONE_NUMBER>
    rank_zero_warn(f"No seed found, seed set to {seed}")

test.py::test_cli_main
  /Users/Adam/spack/var/spack/environments/system/.spack-env/view/lib/python3.10/site-packages/lightning/pytorch/trainer/configuration_validator.py:68: UserWarning: You passed in a `val_dataloader` but have no `validation_step`. Skipping val loop.
    rank_zero_warn("You passed in a `val_dataloader` but have no `validation_step`. Skipping val loop.")

test.py::test_cli_main
  /Users/Adam/spack/var/spack/environments/system/.spack-env/view/lib/python3.10/site-packages/lightning/pytorch/trainer/connectors/data_connector.py:432: PossibleUserWarning: The dataloader, train_dataloader, does not have many workers which may be a bottleneck. Consider increasing the value of the `num_workers` argument` (try 10 which is the number of cpus on this machine) in the `DataLoader` init to improve performance.
    rank_zero_warn(

test.py::test_cli_main
  /Users/Adam/spack/var/spack/environments/system/.spack-env/view/lib/python3.10/site-packages/lightning/pytorch/loops/fit_loop.py:280: PossibleUserWarning: The number of training batches (1) is smaller than the logging interval Trainer(log_every_n_steps=50). Set a lower value for log_every_n_steps if you want to see logs for the training epoch.
    rank_zero_warn(

I can ignore these warnings, but I'm curious if they are all necessary. For example, the first warning will pretty much always be raised, won't it? Is it even possible to call cli_main in code without any sys.argv[1:]? The rest also seem worth ignoring. Would it be worth adding a parameter to Trainer that ignores all internal (created by Lightning) warnings? Or can we at least turn some of these off?

Here is what I noticed from your code and output:

The "No seed found" warning we should look into. Something is calling seed_everything without an input. I'm not sure that's intentional.
The validation step not being defined can be easily fixed by adding the method in the model. Maybe instead of importing the DemoModel you could import the BoringModel for your test?
The warning about the workers is being discussed here #15572
The log_every_n_steps warning should probably not be raised if fast_dev_run is enabled like in your case (since logging is disabled anyway

@adamjstewart I think if you are testing your application this way, you should mock the sys.argv attribute to not contain arguments to avoid the warning because I think the warning is legit:
from main import cli_main

def test_cli_main():
    args = ["fit", "--trainer.fast_dev_run", "true"]
    with mock.patch("sys.argv", ["any.py"]):  # pretend no args were passed
        cli_main(args)

or you go the other way and not pass args to the parser, and instead mock the contents of sys.argv directly from your test:
from main import cli_main

def test_cli_main():
    args = ["fit", "--trainer.fast_dev_run", "true"]
    with mock.patch("sys.argv", ["any.py"] + args):
        cli_main()  # pass no args!!

I recommend this because we do it like that in our tests but maybe @carmocca should confirm my answer.

you should mock the sys.argv attribute to not contain arguments to avoid the warning because I think the warning is legit:

Yes.
Another tip. At some point the args parameter was added to the LightningCLI class. If you are using that in your tests, then instead of adding a with mock.patch to each test, in pytest you can do globally in conftest.py:
from unittest import mock

@pytest.fixture(scope="session", autouse=True)
def clear_sys_argv():
    with mock.patch("sys.argv", ["pytest"]):
        yield

Mocking sys.argv does get around the warning, but I'm still not convinced that the warning is legit. In what circumstances would the args parameter be used when sys.argv[1:] is empty? It seems like it will almost always have at least one argument (the name of the script or test to run).

@adamjstewart My understanding is that this warning all it says is that the args way of passing params and the sys.args way of passing parameters are meant to be mutually exclusive. The warning is only raised when the condition if args is not None and len(sys.argv) > 1 is true. See here: https://github.com/Lightning-AI/lightning/blob/eb3b96d8bd3a0e42da81d4ed30c258af51571aac/src/lightning/pytorch/cli.py#L517
When running with pytest this is naturally problematic if of course we pass arguments to pytest itself, like the name of the test folder and other options etc. That's why we are recommending to mock it out. For these reasons I don't know if the warning can be removed, for this I'd like to request comment from @carmocca and/or @mauvilsa.

Alright, I guess this makes sense for a script that is intended to be invoked like:
$ python main.py

where sys.argv[1:] will be empty. I would still be interested in a general toggle of all warnings for unit testing purposes, but I'll keep adding ignores to pyproject.toml for now.

I would still be interested in a general toggle of all warnings for unit testing purposes, but I'll keep adding ignores to pyproject.toml for now.

I guess you could mock _warn in lightning_utilities so that it doesn't do anything:


Question: How i can make smooth change marker position

Summary
Hi. i have my location marker on map. If i change my position on ios devices i have smooth  animation of changing position. On Android it not smooth, marker jump to new position. How i can get animation same as IoS
Reproducible sample code
question

Steps to reproduce
question
Expected result
question
Actual result
question
React Native Maps Version
1.3.0
What platforms are you seeing the problem on?
Android
React Native Version
0.69.1
What version of Expo are you using?
Not using Expo
Device(s)
Any android devices
Additional information
Question

Check the docs. theres a onMarkerPress method of the mapview that supplies the current coordinates of the marker.
use that with animateToRegion().
onMarkerPress={(e) => 				map.current.animateToRegion( 					{ 						...e.nativeEvent.coordinate, 						latitudeDelta: 0.1, 						longitudeDelta: 0.1, 					}, 					1000 				) 			}

Check the docs. theres a onMarkerPress method of the mapview that supplies the current coordinates of the marker. use that with animateToRegion().
onMarkerPress={(e) => map.current.animateToRegion( { ...e.nativeEvent.coordinate, latitudeDelta: 0.1, longitudeDelta: 0.1, }, 1000 ) }

animateToRegion deprecated? Im right?


Qubes: Can't create standalone VMs

When I try creating a standalone VM based on debian-8-coldkernel, it takes a long time and then finally fails with this error.

This is attempting to create a paravirt standalone? or an HVM?

Good question! I think a paravirt standalone. Here are the settings to reproduce in Qubes VM Manager:

Looks like a bug in VM creation code. Try this:

Set default kernel back to "normal" one.
Create Standalone VM
Change default kernel to "pvgrub2"


fix(cli/#1783): add back custom extension dir option

Fix #1783.
Add back the plumbing for the CLI flag to specify a custom extension folder.

Thanks for fixing this @CrossR , much appreciated. We're missing test coverage on our CLI parameters... so I'll add a CLI test suite so we can make sure this doesn't break in the future 👍

/azp run


路由如何忽略大小写

1. What version of Go and system type/arch are you using?

2. What version of GoFrame are you using?

3. Can this issue be reproduced with the latest release?
4. What did you do?

5. What did you expect to see?
6. What did you see instead?

@zhaoxueru Server中有个配置项，控制路由转换规则全部为小写，参考 https://goframe.org/net/ghttp/router/object


Documentation of startPoll does not match implementation

The documentation (README) for "Start Poll" states "The process begins with a poll, which only the contract owner can create, centered upon some proposal."  Later in the README, we also see "requires that the msg.sender is the deployer (owner) of the plcr instance".
However, the implementation of startPoll (function startPoll(uint _voteQuorum, uint _commitDuration, uint _revealDuration) public returns (uint pollID) {) does not seem to require that the msg.sender is the owner of the plcr instance. In fact, the plcr instance does not seem to maintain a reference to its deployer/owner at all.
Am I missing something? Was this restriction removed?

The documentation on this repo is stale. There's some more up-to-date documentation on PLCR here: https://github.com/skmgoldin/tcr/blob/master/owners_manual.md
Hopefully we'll update this documentation in the upcoming 2.0 release.


Write cache key after cached files to ensure cache is sane

It might happen that we are interrupted before writing all files, by writing
the key after the files we ensure we don't get a key with missing files.

Thanks! Very sensible.


migration to grails 4

Manually merged with a few other things, thanks! Will release as soon as travis build passes.


Adds Blazor quickstart for intern hackathon.

Summary
Adding a new quickstart for the .NET Blazer framework!

Pre merge checklist

[x] Did you check you NRQL syntax? - Does it work?
[x] Did you check your dashboard image quality? -  Do they look good?
[x] Did you check that your alerts actually work?
[ ] Did you include an InstallPlan and Documentation reference?
[x] Did you check your descriptive content for voice, tone, spelling and grammar errors?
[x] Did you attach images of your dashboards to the PR so we can see them working?

Screenshots

Closing this out as it's been stale for 14 days


UrlTemplateImageryProvider minimumLevel and maximumLevel

Cesium.UrlTemplateImageryProvider:When I set both minimumLevel and maximumLevel at the same time,the thread goes into a dead cycle,and after a while, the browser crashed.I set minimumLevel to 13,and maximumLevel to 19. It also has problems when I just set minimumLevel .But when I set the rectangle to the bounds of the tile, it is ok.

Are you able to provide a Sandcastle example to recreate this?

Closing due to inactivity


Bad copy/paste from similar page

This line was probably copied from a similar page related with Storage Accounts and needs to be corrected:
AKS backup also integrates directly with Backup center to help you manage the protection of all your Storage Accounts centrally along...
should read:
AKS backup also integrates directly with Backup center to help you manage the protection of all your AKS clusters centrally along...

Document Details
⚠ Do not edit this section. It is required for learn.microsoft.com ➟ GitHub issue linking.

ID: 6411a84a-6476-9b29-574f-ca0b0160f29f
Version Independent ID: b5720076-d38e-4d8f-de0f-18d61a678015
Content: Azure Kubernetes Service backup - Overview - Azure Backup
Content Source: articles/backup/azure-kubernetes-service-backup-overview.md
Service: backup
GitHub Login: @jyothisuri
Microsoft Alias: jsuri

Thanks for the feedback! We are currently investigating and will update you shortly.


Add a vignette to help reduce motion sickness?

This feature should be common. But It doesn't seem to be possible to render directly to viewport via ColorRect. (For example, official demo)
Devices: Oculus Quest 2 (No errors are printed)

Personally, in C#, I use a camera with a "Veil" object to fade the screen as needed.
https://github.com/BenMcLean/WOLF3D-Godot/blob/master/godot/WOLF3DGame/FadeCamera.cs

Rendering of 2D objects is disabled in XR interfaces using the GLES2 driver. Ben's solution is a good one.
And yes, fully agree we should have a solution as part of our xr-tools library

This is a solution that works in 3D: https://github.com/GodotVR/godot-xr-tools/pull/53

This is now solved through https://github.com/GodotVR/godot-xr-tools/pull/53


Protos types are not exported

Types defined in protos are not exported and require a nested path to import them.
Environment details

OS: Mac OS 10.14
Node.js version: 12.6
npm version: 6.9.0
@google-cloud/iot version: 1.6.0

Steps to reproduce
As shown below, an import path must currently be specified to access the PublicKeyFormat enum. This is undesirable because it requires specifying an internal path,
import { v1 } from '@google-cloud/iot';
import { google } from '@google-cloud/iot/build/protos/protos';

const iotClient = new v1.DeviceManagerClient();

const createDevice = async () => {
  await iotClient.createDevice({
    device: {
      credentials: [
        {
          publicKey: {
            format: google.cloud.iot.v1.PublicKeyFormat.ES256_PEM,
            key: 'public-key',
          },
        },
      ],
      id: 'service-id',
    },
    parent: 'device/path',
  });
}

@xiaozhenliu-gg5 sounds like we should be exporting these?

Hi @alexander-fenster, any update on exporting the PublicKeyFormat type? Or maybe the entire google namespace?

@JrSchild It's exported, isn't it?
$ npm ls @google-cloud/iot
/private/tmp/iot
└──<EMAIL_ADDRESS>
$ grep protos<EMAIL_ADDRESS>import * as protos from '../protos/protos';
export { protos };

It appears you are right @alexander-fenster. Thanks!


Next Steps

[ ] Download TMP_2020 (Don't put in repository) Put it in some place handy!
[ ] Read documentation
[ ] Try reading a file onto R
[ ] Read TEMPEST_2020 data, plot per tree on sap flux (line graph, one line for each tree)
[ ] both @bpbond and you to read about LSTM and take a look at R package (is it appropriate and manageable)

(Don't put in repository) Put it in some place handy!

@hanioid10414 The other option is to put the data into your repository, and tell Git to ignore it. That may be convenient. If you want to do this:

Create a data (or whatever name you want) folder in the repo (i.e., .data/)
Put everything in there
Add a line to the .gitignore file: "data/*" - this tells Git to ignore everything in the data folder
Your script(s) then read files from the data folder


Invalid is check in credit card validation

https://github.com/samuelcolvin/pydantic/blob/master/pydantic/types.py#L669
if card_number.brand is (PaymentCardBrand.visa or PaymentCardBrand.mastercard)

Assuming brand was reduced to the integers, and we had 3 brands, then this is the equivalent of:
3 is (1 or 2), which you'd hope were false, 1 is (1 or 2) which you'd hope were true, and 2 is (1 or 2) which you'd also hope were true. However, or short-circuits, so these reduce to 3 is 1, 1 is 1, and 2 is 1. This means the preferred outcome for the first two cases works, but it would fail for mastercard.
Perhaps this should be
if card_number.brand is PaymentCardBrand.visa or card_number.brand is PaymentCardBrand.mastercard:

I think this was added relatively recently - https://github.com/samuelcolvin/pydantic/commit/0c5793770be1de8b1a28c3fbaca669cf3bab1e34#diff-470d0730db2e82eaaf27ad3655a667b3R582 - so hopefully it hasn't affected too many people.

Probably works because of some Enum class magic, but could be reworked to:
if card_number.brand in (PaymentCardBrand.visa, PaymentCardBrand.mastercard)

I guess it depends if equality is acceptable compared to identity?

I don't think magic works with is, and I'm kinda glad of that:
>>> from enum import Enum
>>> class CardType(Enum):
...     Diners = 1
...     Visa = 2
...     MasterCard = 3
...
>>> CardType.Visa is (CardType.MasterCard or CardType.Visa)
False

Good to confirm.

Assuming this is resolved.

Sadly not resolved, code is still
if card_number.brand is (PaymentCardBrand.visa or PaymentCardBrand.mastercard):

which won't work if card_number.brand is PaymentCardBrand.mastercard.

Yes, I was just confirming the logic is broken. @mike-hart you might want to submit a PR referencing this issue with the fix.

The use of x is (y or z) is just a mistake, it simplifies to x is y if y is truey or x is z otherwise. In this case since PaymentCardBrand.visa is truey we're effectively just doing brand is PaymentCardBrand.visa.
I'll replace it with an in check.
A bit more background on enums:

Identity checks work with the actual enum member but not with the enum value
equality checks work with both the enum member and the enum value, but only if the enum inherits from the correct type as well as Enum.

class PaymentCardBrand(str, Enum):
    amex = 'American Express'
    mastercard = 'Mastercard'
    visa = 'Visa'
    other = 'other'

b = PaymentCardBrand.visa
b is PaymentCardBrand.visa
#> True
b == PaymentCardBrand.visa
#> True

b = 'Visa'
b is PaymentCardBrand.visa
#> False
b == PaymentCardBrand.visa
#> True (This would not work with the current PaymentCardBrand which doesn't inherit from str)

I don't know if card_number.brand can be a string or only a PaymentCardBrand, but better to fix anyway.

Ah, either way, I added this - https://github.com/samuelcolvin/pydantic/pull/1320 - but since you propose a different approach I guess it's less valuable now.
Thanks for responding/reopening.


Bug

Thank you for developing great work, RotatE. I'm really interested in your research.

I ran your program as the following, but I found that there is a bug "RuntimeError: CUDA out of memory". How did you debug?
I changed the batch size from 1024 to 256 and the program could run successfully. But, I don't really want to change the batch size.

dl-box@DL-Box:~/Downloads/RotatE$ CUDA_VISIBLE_DEVICES=0 python -u codes/run.py --do_train \

--cuda
--do_valid
--do_test
--data_path data/FB15k
--model RotatE
-n 256 -b 1024 -d 1000
-g 24.0 -a 1.0 -adv
-lr 0.0001 --max_steps 150000
-save models/RotatE_FB15k_0 --test_batch_size 16 -de
2021-11-07 17:21:05,436 INFO     Model: RotatE
2021-11-07 17:21:05,437 INFO     Data Path: data/FB15k
2021-11-07 17:21:05,437 INFO     #entity: 14951
2021-11-07 17:21:05,437 INFO     #relation: 1345
2021-11-07 17:21:05,892 INFO     #train: 483142
2021-11-07 17:21:05,941 INFO     #valid: 50000
2021-11-07 17:21:06,000 INFO     #test: 59071
2021-11-07 17:21:06,202 INFO     Model Parameter Configuration:
2021-11-07 17:21:06,202 INFO     Parameter gamma: torch.Size([1]), require_grad = False
2021-11-07 17:21:06,202 INFO     Parameter embedding_range: torch.Size([1]), require_grad = False
2021-11-07 17:21:06,202 INFO     Parameter entity_embedding: torch.Size([14951, 2000]), require_grad = True
2021-11-07 17:21:06,202 INFO     Parameter relation_embedding: torch.Size([1345, 1000]), require_grad = True
2021-11-07 17:21:12,102 INFO     Ramdomly Initializing RotatE Model...
2021-11-07 17:21:12,102 INFO     Start Training...
2021-11-07 17:21:12,102 INFO     init_step = 0
2021-11-07 17:21:12,102 INFO     batch_size = 1024
2021-11-07 17:21:12,102 INFO     negative_adversarial_sampling = 1
2021-11-07 17:21:12,102 INFO     hidden_dim = 1000
2021-11-07 17:21:12,102 INFO     gamma = 24.000000
2021-11-07 17:21:12,102 INFO     negative_adversarial_sampling = True
2021-11-07 17:21:12,102 INFO     adversarial_temperature = 1.000000
2021-11-07 17:21:12,102 INFO     learning_rate = 0
Traceback (most recent call last):
File "codes/run.py", line 361, in
main(parse_args())
File "codes/run.py", line 305, in main
log = kge_model.train_step(kge_model, optimizer, train_iterator, args)
File "/home/dl-box/Downloads/RotatE/codes/model.py", line 300, in train_step
loss.backward()
File "/home/dl-box/.local/lib/python3.6/site-packages/torch/_tensor.py", line 307, in backward
torch.autograd.backward(self, gradient, retain_graph, create_graph, inputs=inputs)
File "/home/dl-box/.local/lib/python3.6/site-packages/torch/autograd/init.py", line 156, in backward
allow_unreachable=True, accumulate_grad=True)  # allow_unreachable flag
RuntimeError: CUDA out of memory. Tried to allocate 1.95 GiB (GPU 0; 10.92 GiB total capacity; 6.11 GiB already allocated; 866.06 MiB free; 7.97 GiB reserved in total by PyTorch) If reserved memory is >> allocated memory try setting max_split_size_mb to avoid fragmentation.  See documentation for Memory Management and PYTORCH_CUDA_ALLOC_CONF

I ran the command line "bash run.sh train ComplEx FB15k 0 0 1024 256 1000 500.0 1.0 0.001 150000 16 -de -dr -r 0.000002" as the following  (with dataset FB15k), and your program could run successfully on my Ubuntu server.

dl-box@DL-Box:~/Downloads/RotatE$ bash run.sh train ComplEx FB15k 0 0 1024 256 1000 500.0 1.0 0.001 150000 16 -de -dr -r 0.000002
1.10.0+cu102
Start Training......
2021-11-08 04:46:49,552 INFO     Model: ComplEx
2021-11-08 04:46:49,552 INFO     Data Path: data/FB15k
2021-11-08 04:46:49,552 INFO     #entity: 14951
2021-11-08 04:46:49,552 INFO     #relation: 1345
2021-11-08 04:46:50,009 INFO     #train: 483142
2021-11-08 04:46:50,058 INFO     #valid: 50000
2021-11-08 04:46:50,120 INFO     #test: 59071
2021-11-08 04:46:50,336 INFO     Model Parameter Configuration:
2021-11-08 04:46:50,336 INFO     Parameter gamma: torch.Size([1]), require_grad = False
2021-11-08 04:46:50,336 INFO     Parameter embedding_range: torch.Size([1]), require_grad = False
2021-11-08 04:46:50,336 INFO     Parameter entity_embedding: torch.Size([14951, 2000]), require_grad = True
2021-11-08 04:46:50,336 INFO     Parameter relation_embedding: torch.Size([1345, 2000]), require_grad = True
2021-11-08 04:46:56,318 INFO     Ramdomly Initializing ComplEx Model...
2021-11-08 04:46:56,318 INFO     Start Training...
2021-11-08 04:46:56,318 INFO     init_step = 0
2021-11-08 04:46:56,318 INFO     batch_size = 1024
2021-11-08 04:46:56,318 INFO     negative_adversarial_sampling = 1
2021-11-08 04:46:56,318 INFO     hidden_dim = 1000
2021-11-08 04:46:56,318 INFO     gamma = 500.000000
2021-11-08 04:46:56,318 INFO     negative_adversarial_sampling = True
2021-11-08 04:46:56,318 INFO     adversarial_temperature = 1.000000
2021-11-08 04:46:56,318 INFO     learning_rate = 0
2021-11-08 04:46:57,568 INFO     Training average regularization at step 0: 2.061783
2021-11-08 04:46:57,568 INFO     Training average positive_sample_loss at step 0: 0.959978
2021-11-08 04:46:57,568 INFO     Training average negative_sample_loss at step 0: 2.498887
2021-11-08 04:46:57,569 INFO     Training average loss at step 0: 3.791215
2021-11-08 04:46:57,569 INFO     Evaluating on Valid Dataset...
2021-11-08 04:46:58,255 INFO     Evaluating the model... (0/6250)
2021-11-08 04:47:40,912 INFO     Evaluating the model... (1000/6250)
2021-11-08 04:48:24,477 INFO     Evaluating the model... (2000/6250)
2021-11-08 04:49:08,110 INFO     Evaluating the model... (3000/6250)
2021-11-08 04:49:51,826 INFO     Evaluating the model... (4000/6250)
2021-11-08 04:50:35,372 INFO     Evaluating the model... (5000/6250)
2021-11-08 04:51:18,479 INFO     Evaluating the model... (6000/6250)
2021-11-08 04:51:29,527 INFO     Valid MRR at step 0: 0.000718
2021-11-08 04:51:29,527 INFO     Valid MR at step 0: 7412.979920
2021-11-08 04:51:29,527 INFO     Valid HITS@1 at step 0: 0.000050
2021-11-08 04:51:29,527 INFO     Valid HITS@3 at step 0: 0.000190
2021-11-08 04:51:29,527 INFO     Valid HITS@10 at step 0: 0.000820
2021-11-08 04:51:44,653 INFO     Training average regularization at step 100: 1.869630
2021-11-08 04:51:44,653 INFO     Training average positive_sample_loss at step 100: 0.878554
2021-11-08 04:51:44,654 INFO     Training average negative_sample_loss at step 100: 2.214018
2021-11-08 04:51:44,654 INFO     Training average loss at step 100: 3.415917
2021-11-08 04:51:59,475 INFO     Training average regularization at step 200: 1.649423
2021-11-08 04:51:59,475 INFO     Training average positive_sample_loss at step 200: 0.795739
2021-11-08 04:51:59,475 INFO     Training average negative_sample_loss at step 200: 1.878687
2021-11-08 04:51:59,475 INFO     Training average loss at step 200: 2.986636
2021-11-08 04:52:14,330 INFO     Training average regularization at step 300: 1.493370
2021-11-08 04:52:14,330 INFO     Training average positive_sample_loss at step 300: 0.723991
2021-11-08 04:52:14,330 INFO     Training average negative_sample_loss at step 300: 1.647611
2021-11-08 04:52:14,330 INFO     Training average loss at step 300: 2.679172
2021-11-08 04:52:29,411 INFO     Training average regularization at step 400: 1.364369
2021-11-08 04:52:29,411 INFO     Training average positive_sample_loss at step 400: 0.668379
2021-11-08 04:52:29,411 INFO     Training average negative_sample_loss at step 400: 1.480148
2021-11-08 04:52:29,411 INFO     Training average loss at step 400: 2.438632
2021-11-08 04:52:44,290 INFO     Training average regularization at step 500: 1.252640
2021-11-08 04:52:44,290 INFO     Training average positive_sample_loss at step 500: 0.615634
2021-11-08 04:52:44,290 INFO     Training average negative_sample_loss at step 500: 1.347466
2021-11-08 04:52:44,290 INFO     Training average loss at step 500: 2.234190
2021-11-08 04:52:59,189 INFO     Training average regularization at step 600: 1.153765
2021-11-08 04:52:59,189 INFO     Training average positive_sample_loss at step 600: 0.570805
2021-11-08 04:52:59,189 INFO     Training average negative_sample_loss at step 600: 1.245437
2021-11-08 04:52:59,189 INFO     Training average loss at step 600: 2.061886
2021-11-08 04:53:14,166 INFO     Training average regularization at step 700: 1.065076
2021-11-08 04:53:14,166 INFO     Training average positive_sample_loss at step 700: 0.524925
2021-11-08 04:53:14,166 INFO     Training average negative_sample_loss at step 700: 1.163066
2021-11-08 04:53:14,166 INFO     Training average loss at step 700: 1.909072
2021-11-08 04:53:29,006 INFO     Training average regularization at step 800: 0.984837
2021-11-08 04:53:29,006 INFO     Training average positive_sample_loss at step 800: 0.489442
2021-11-08 04:53:29,006 INFO     Training average negative_sample_loss at step 800: 1.097700
2021-11-08 04:53:29,006 INFO     Training average loss at step 800: 1.778408
2021-11-08 04:53:43,852 INFO     Training average regularization at step 900: 0.911781
2021-11-08 04:53:43,852 INFO     Training average positive_sample_loss at step 900: 0.451165
2021-11-08 04:53:43,852 INFO     Training average negative_sample_loss at step 900: 1.044625
2021-11-08 04:53:43,852 INFO     Training average loss at step 900: 1.659676
2021-11-08 04:53:59,565 INFO     Training average regularization at step 1000: 0.845027
2021-11-08 04:53:59,565 INFO     Training average positive_sample_loss at step 1000: 0.363237
2021-11-08 04:53:59,565 INFO     Training average negative_sample_loss at step 1000: 1.000880
2021-11-08 04:53:59,565 INFO     Training average loss at step 1000: 1.527086
2021-11-08 04:54:14,571 INFO     Training average regularization at step 1100: 0.783731
2021-11-08 04:54:14,571 INFO     Training average positive_sample_loss at step 1100: 0.312674
2021-11-08 04:54:14,571 INFO     Training average negative_sample_loss at step 1100: 0.966706
2021-11-08 04:54:14,571 INFO     Training average loss at step 1100: 1.423422
2021-11-08 04:54:29,543 INFO     Training average regularization at step 1200: 0.726847
2021-11-08 04:54:29,543 INFO     Training average positive_sample_loss at step 1200: 0.310942
...................................................................................................

However, before that time, I ran the following command line "bash run.sh train RotatE wn18 0 0 512 1024 500 12.0 0.5 0.0001 80000 8 -de 1.10.0+cu102" (with dataset wn18), and I also found that your program still has a bug "RuntimeError: CUDA out of memory". Would you please explain to me why sometimes your program has a bug "RuntimeError: CUDA out of memory", but why sometimes your program could run successfully by changing the dataset? How did you debug with this problem?

dl-box@DL-Box:~/Downloads/RotatE$ bash run.sh train RotatE wn18 0 0 512 1024 500 12.0 0.5 0.0001 80000 8 -de
1.10.0+cu102
Start Training......
2021-11-08 04:46:15,756 INFO     Model: RotatE
2021-11-08 04:46:15,756 INFO     Data Path: data/wn18
2021-11-08 04:46:15,757 INFO     #entity: 40943
2021-11-08 04:46:15,757 INFO     #relation: 18
2021-11-08 04:46:15,886 INFO     #train: 141442
2021-11-08 04:46:15,890 INFO     #valid: 5000
2021-11-08 04:46:15,894 INFO     #test: 5000
2021-11-08 04:46:16,147 INFO     Model Parameter Configuration:
2021-11-08 04:46:16,147 INFO     Parameter gamma: torch.Size([1]), require_grad = False
2021-11-08 04:46:16,147 INFO     Parameter embedding_range: torch.Size([1]), require_grad = False
2021-11-08 04:46:16,147 INFO     Parameter entity_embedding: torch.Size([40943, 1000]), require_grad = True
2021-11-08 04:46:16,147 INFO     Parameter relation_embedding: torch.Size([18, 500]), require_grad = True
2021-11-08 04:46:19,692 INFO     Ramdomly Initializing RotatE Model...
2021-11-08 04:46:19,692 INFO     Start Training...
2021-11-08 04:46:19,692 INFO     init_step = 0
2021-11-08 04:46:19,692 INFO     batch_size = 512
2021-11-08 04:46:19,692 INFO     negative_adversarial_sampling = 1
2021-11-08 04:46:19,692 INFO     hidden_dim = 500
2021-11-08 04:46:19,692 INFO     gamma = 12.000000
2021-11-08 04:46:19,692 INFO     negative_adversarial_sampling = True
2021-11-08 04:46:19,692 INFO     adversarial_temperature = 0.500000
2021-11-08 04:46:19,692 INFO     learning_rate = 0
Traceback (most recent call last):
File "codes/run.py", line 361, in
main(parse_args())
File "codes/run.py", line 305, in main
log = kge_model.train_step(kge_model, optimizer, train_iterator, args)
File "/home/dl-box/Downloads/RotatE/codes/model.py", line 267, in train_step
negative_score = model((positive_sample, negative_sample), mode=mode)
File "/home/dl-box/.local/lib/python3.6/site-packages/torch/nn/modules/module.py", line 1102, in _call_impl
return forward_call(*input, **kwargs)
File "/home/dl-box/Downloads/RotatE/codes/model.py", line 159, in forward
score = model_func[self.model_name](head, relation, tail, mode)
File "/home/dl-box/Downloads/RotatE/codes/model.py", line 225, in RotatE
score = score.norm(dim = 0)
File "/home/dl-box/.local/lib/python3.6/site-packages/torch/_tensor.py", line 442, in norm
return torch.norm(self, p, dim, keepdim, dtype=dtype)
File "/home/dl-box/.local/lib/python3.6/site-packages/torch/functional.py", line 1442, in norm
return _VF.frobenius_norm(input, _dim, keepdim=keepdim)
RuntimeError: CUDA out of memory. Tried to allocate 1000.00 MiB (GPU 0; 10.92 GiB total capacity; 7.00 GiB already allocated; 22.62 MiB free; 7.02 GiB reserved in total by PyTorch) If reserved memory is >> allocated memory try setting max_split_size_mb to avoid fragmentation.  See documentation for Memory Management and PYTORCH_CUDA_ALLOC_CONF

Hi Thuy,
From your error message "Tried to allocate 1000.00 MiB (GPU 0; 10.92 GiB total capacity; 7.00 GiB already allocated; 22.62 MiB free; 7.02 GiB reserved in total by PyTorch)", it seems that there's other programs using your GPU memory. Because PyTorch failed to allocate 1GB more memory when it only allocated 7 GB and your GPU is of 11 GB total capacity.

Thank you very much for replying me. I changed to another GPU (changed the value of CUDA_VISIBLE_DEVICES) and now your program can run successfully on my multi-GPU server which has 3 GPUs GTX 1080 Ti.
Which GPU did you use?
It took about 9 hours to finish running your program with dataset FB15k  on my GPU server. Is there any method to make your program run faster, e.g., let 3 GPUs run in parallel,...?


Add ICASSP 2024

Add ICASSP 2024 as the CFP is out: https://2024.ieeeicassp.org/call_for_papers/

Thanks for contributing!


fix: add workflow to notify docs triagers on relevant PRs

Description
The PR introduces a new workflow to the website repo which runs every time a new PR is raised and checks if any .md files were modified in any manner, if yes, the workflow will auto-comment tagging docs-triagers for review and approval.
Related issue(s)
Resolves #2634
PS: Ofc, we would have to configure the secret(GH_Token) first to make this work.

thank you for this!

Everything seems to be working except the fact that we do not have write permissions allowed for GH Actions in this repo
Resource not accessible by integration

@derberg I am not sure how AsyncAPI bot comments on PRs using this workflow https://github.com/asyncapi/website/blob/master/.github/workflows/lint-pr-title.yml when we don't have write permissions for GH Actions.
Do we need to add this workflow to https://github.com/asyncapi/.github/ for it to have adequate permissions

@akshatnema Fixed.
@sambhavgupta0705 The workflow is currently under .github/workflows as it should be and the file placement is not a issue here. The secret in context needs to have pull request read/write access. Your question with lint PR workflow is valid to an extent. If we don't want to give the secret write access as GITHUB_TOKEN can be used in other workflows, we could create a secret called "WORKFLOW_SECRET" with write access and use the secret just for this workflow. It's not optimal though.
What do you think @derberg

https://github.com/asyncapi/website/blob/master/.github/workflows/help-command.yml#L45-L60
@TRohit20 Can you try this approach to make a comment in PR?

Will this work on issues also because I need to triage issues also

@sambhavgupta0705 Sure, I mean we'd probably have to add another check and event trigger to see and make it work on issues too. Possible

@TRohit20 is this ready for review?

@sambhavgupta0705 As mentioned above, the secret needs PR comment/write access to make a comment as intended, the other workflow suggested to try by @akshatnema also didn't quite seem to work.

Hmm @akshatnema would a short call help?

@TRohit20 there is an error in the github-script.
For further info https://github.com/Github-Actions-Organisation-Test/website-test/actions/runs/8234578356/job/22516618161?pr=2

@Shurtu-gal The GitHub script being used is actually a reuse of what we currently have in one of our workflows as suggested by @akshatnema

/rtm


Accounts Package

New functionality that allows managing accounts. As well preparation for future usage of utils network and types overall.

Merging regardless of security issues...


Spotify ?

Hi,
It's possible to send Spotify musik to player ?

Don't know, I don't own a Spotify account, as I'm on tidal instead.
And to be honest I have never thought about pushing a track/Playlist to a chromecast, via the chrome2mqtt service, as I always use my phone to search for tracks and start a playlist.


CustomVisionErrorException: Operation returned an invalid status code 'Access Denied'

I got "CustomVisionErrorException: Operation returned an invalid status code 'Access Denied'".
training_key = "PASTE_YOUR_CUSTOM_VISION_TRAINING_SUBSCRIPTION_KEY_HERE"  .  Is it Key1?
prediction_key = "PASTE_YOUR_CUSTOM_VISION_PREDICTION_SUBSCRIPTION_KEY_HERE"   .   Is it Key2?

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 4f6c3f20-25a4-bc19-0cb6-377eff01b00e
Version Independent ID: 02d76c7b-cffa-c94f-2298-ba7e506d4f79
Content: Quickstart: Image classification with Custom Vision client library or REST API - Azure Cognitive Services
Content Source: articles/cognitive-services/Custom-Vision-Service/quickstarts/image-classification.md
Service: cognitive-services
Sub-service: custom-vision
GitHub Login: @PatrickFarley
Microsoft Alias: pafarley

Thanks for the feedback! We are currently investigating and will update you shortly.

@PatrickFarley Hello Patrick, this is very unclear to customer. I can see there is a Prediction-Key in custom portal as well. Could you please make this more understandable to customer? Thanks a lot.

The training_key is your subscription key for the training resource (either 1 or 2)
the prediction_key is your subscription key for the prediction resource (either 1 or 2)
I'll try to make this clearer in the docs
#please-close


Attempt on FreeBSD support

Check FreeBSD-specific library locations, and update as command line. This is not a complete solution as latter would not work on other platforms, and dynamic linking still would not be supported. However, with this change, it is possible to create a statically-linked executable on FreeBSD, as long as #21 is avoided.

Portability is not my goal at this moment, as I want to focus on the compiler itself rather than working on system-dependent stuff. I usually recommend readers use Docker to prepare an Ubuntu development environment. If FreeBSD can be supported with a small amount of code, I think I'm OK to include it to chibicc, though.


fix: update to eye v9.6.4

fix: update to eye v9.6.4

:tada: This PR is included in version 12.3.4 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release
v12.3.4

Your semantic-release bot :package::rocket:


Allow classes on screensaver slides

Should be also mentioned in the readme. Otherwise it's a feature that nobody will know about.

Should be also mentioned in the readme. Otherwise it's a feature that nobody will know about.

I was thinking of updating https://github.com/resoai/TileBoard/wiki/Screensaver-configuration rather than updating the README.md. README has lesser of screensaver details than the wiki page. If I update the README with just this feature, then that would be off.
I am assuming I would have the permission to edit https://github.com/resoai/TileBoard/wiki/Screensaver-configuration

Yes, readme should regardless list all supported options, even if it does not go into details.

@rchl I have added documentation for the feature to README. Can this be merged now ?

@rchl I have added documentation for the feature to README. Can this be merged now ?


Add support for scoped registries

Proposed changes
Introduces Scoped Registries support to saucectl.
Introduce this new setting:

npm:
  scopedRegistries:
  - scope: "@saucelabs"
    url: https://my.registry.com
    authToken: "myAuthToken" (optional)

Types of changes

[ ] Bugfix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] Documentation Update (if none of the other choices apply)

Checklist

[ ] Lint and unit tests pass locally with my changes
[ ] I have added tests that prove my fix is effective or that my feature works
[ ] I have added necessary documentation (if appropriate)
[ ] I have updated the json schema (if appropriate)

Further comments

What about deprecating registry (but still maintain support) and transition to something like this:
npm:
  registries:
    - url: https://private.internalregistery
    - url: https://my.registry.com
      scope: "@scope"
      authToken: blah

Makes sense, it will also add support for authenticated registry (something we don't currently support if I'm correct).

JSON schema spec supposedly supports a deprecated property. Could add that to the registry prop.

That support has been introduced in a version which is younger that the one we are currently using. I need to deeper check the consequences of upgrading the target spec.

JSON schema spec supposedly supports a deprecated property. Could add that to the registry prop.

That support has been introduced in a version which is younger that the one we are currently using. I need to deeper check the consequences of upgrading the target spec.

We could upgrade. But you'd have to re-test:

that the intellij plugin still works (well, it only partially worked due to a bug on the Jetbrains side, but at least it shouldn't work even less than before 😅 )
that the vscode plugin still works
that saucectl's internal spec validation still works

JSON schema spec supposedly supports a deprecated property. Could add that to the registry prop.

That support has been introduced in a version which is younger that the one we are currently using. I need to deeper check the consequences of upgrading the target spec.

We could upgrade. But you'd have to re-test:

that the intellij plugin still works (well, it only partially worked due to a bug on the Jetbrains side, but at least it shouldn't work even less than before 😅 )
that the vscode plugin still works
that saucectl's internal spec validation still works

Looks ok from my side.

I ran test on WebStorm, either the one online or the one local, none is working. Nothing better / worse when using the 2020-12 spec.
Looks good when using the 2020-12 spec
Looks good when using the 2020-12 spec

Both 2. and 3. do not tell that the field is deprecated.

Both 2. and 3. do not tell that the field is deprecated.
I updated the spec version, as it does not change any current behaviour.

lol, I guess the most reliable method is to just say its deprecated in the description.


Fixed other squished avatars missed in #104

#104
To-Dos

[x] Successful build yarn build

Hi could you pr the whole avatar fix thing to Overseerr?

I agree, this should be the way.

I agree, this should be the way.

Yes. When they accept, we can implement the rest of the fixes


Interactions changes move and add links as specified in Design Review

Changes in this PR:
Interactions changes move and add links as specified in Design Review
Trello card / Rollbar error (etc)
https://trello.com/c/6SUqtJGI/1444-eui-design-review-of-current-site
Screenshots of UI changes:
Before

After

Before

After

Before

After

Before

After

Before

After

Before

After

Before

After

Before

After

[ ] Requires env variable(s) to be updated

 [EUI] Design Review


Set and document exit codes

Similar to https://github.com/adobe/aio-cli-plugin-cloudmanager/issues/215 all commands should indicate failures also via the exit code in order to ease using the commands in automation scripts. Currently failures just lead to log messages (e.g. in https://github.com/adobe/aio-cli-plugin-aem-rde/blob/e60e09ec24d51ad1db11e3a44c8f32744ed8cedc/src/commands/aem/rde/install.js#L189-L200).)
It would be good to reuse the exit code categories defined in https://github.com/adobe/aio-cli-plugin-cloudmanager#exit-codes.

fixed by https://github.com/adobe/aio-cli-plugin-aem-rde/pull/53


Kotlinter crashes with NoSuchMethodError in Sarif4K 0.6.0

When running check, the plugin crashes:
java.lang.NoSuchMethodError: 'void io.github.detekt.sarif4k.ToolComponent.<init>(io.github.detekt.sarif4k.ToolComponentReference, java.util.List, java.lang.String, java.lang.String, io.github.detekt.sarif4k.MultiformatMessageString, java.lang.String, java.util.Map, java.lang.String, java.lang.String, java.lang.Boolean, java.lang.String, java.lang.String, java.util.List, java.lang.String, java.lang.String, java.util.List, java.lang.String, java.lang.String, java.lang.String, io.github.detekt.sarif4k.PropertyBag, java.lang.String, java.util.List, java.lang.String, io.github.detekt.sarif4k.MultiformatMessageString, java.util.List, java.util.List, io.github.detekt.sarif4k.TranslationMetadata, java.lang.String, int, kotlin.jvm.internal.DefaultConstructorMarker)'
	at com.pinterest.ktlint.cli.reporter.sarif.SarifReporter.afterAll(SarifReporter.kt:95)
	at org.jmailen.gradle.kotlinter.support.SortedThreadSafeReporterWrapper.afterAll(SortedThreadSafeReporterWrapper.kt:63)
	at org.jmailen.gradle.kotlinter.tasks.lint.LintWorkerAction.execute(LintWorkerAction.kt:60)
	at org.gradle.workers.internal.DefaultWorkerServer.execute(DefaultWorkerServer.java:63)
	at org.gradle.workers.internal.NoIsolationWorkerFactory$1$1.create(NoIsolationWorkerFactory.java:66)
	at org.gradle.workers.internal.NoIsolationWorkerFactory$1$1.create(NoIsolationWorkerFactory.java:62)
	at org.gradle.internal.classloader.ClassLoaderUtils.executeInClassloader(ClassLoaderUtils.java:100)
	at org.gradle.workers.internal.NoIsolationWorkerFactory$1.lambda$execute$0(NoIsolationWorkerFactory.java:62)
	at org.gradle.workers.internal.AbstractWorker$1.call(AbstractWorker.java:44)
	at org.gradle.workers.internal.AbstractWorker$1.call(AbstractWorker.java:41)
	at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:209)
	at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:204)
	at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:66)
	at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:59)
	at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:166)
	at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:59)
	at org.gradle.internal.operations.DefaultBuildOperationRunner.call(DefaultBuildOperationRunner.java:53)
	at org.gradle.workers.internal.AbstractWorker.executeWrappedInBuildOperation(AbstractWorker.java:41)
	at org.gradle.workers.internal.NoIsolationWorkerFactory$1.execute(NoIsolationWorkerFactory.java:59)
	at org.gradle.workers.internal.DefaultWorkerExecutor.lambda$submitWork$0(DefaultWorkerExecutor.java:174)
	at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
	at org.gradle.internal.work.DefaultConditionalExecutionQueue$ExecutionRunner.runExecution(DefaultConditionalExecutionQueue.java:187)
	at org.gradle.internal.work.DefaultConditionalExecutionQueue$ExecutionRunner.access$700(DefaultConditionalExecutionQueue.java:120)
	at org.gradle.internal.work.DefaultConditionalExecutionQueue$ExecutionRunner$1.run(DefaultConditionalExecutionQueue.java:162)
	at org.gradle.internal.Factories$1.create(Factories.java:31)
	at org.gradle.internal.work.DefaultWorkerLeaseService.withLocks(DefaultWorkerLeaseService.java:264)
	at org.gradle.internal.work.DefaultWorkerLeaseService.runAsWorkerThread(DefaultWorkerLeaseService.java:128)
	at org.gradle.internal.work.DefaultWorkerLeaseService.runAsWorkerThread(DefaultWorkerLeaseService.java:133)
	at org.gradle.internal.work.DefaultConditionalExecutionQueue$ExecutionRunner.runBatch(DefaultConditionalExecutionQueue.java:157)
	at org.gradle.internal.work.DefaultConditionalExecutionQueue$ExecutionRunner.run(DefaultConditionalExecutionQueue.java:126)
	at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539)
	at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
	at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:64)
	at org.gradle.internal.concurrent.AbstractManagedExecutor$1.run(AbstractManagedExecutor.java:47)
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
	at java.base/java.lang.Thread.run(Thread.java:840)

Downgrading Sarif4K to 0.5.0 works fine.

Thank you for the report. I don't believe we have a direct dependency on sarif, but get it through com.pinterest.ktlint:ktlint-cli-reporter-sarif:1.2.1. Seems like we should add automated test coverage however.
What's your gradle configuration? Sarif reports work for me using the latest version of kotlinter (4.3.0). Have you bumped the ktlint dependency? I still need to put out a new release supporting 1.3.0.

Hi Jeremy! I had this crash when working on https://github.com/JetBrains/jewel/pull/398, where I initially updated Sarif4k to 0.6.0. I am not declaring the ktlint version explicitly, just getting whatever comes through your plugin

I see. It sounds like maybe the jetbrains compose build plugin for that one requires a later version of the sarif dependency. If you remove the other build plugin, do sarif reports work?
It's an unfortunate challenge that the dependencies are not isolated when it comes to gradle plugins, which you can see from the compatibility matrix described by this plugin which isn't comprehensive. There might be other plugins out there with conflicting dependencies.

I have only tried a simple "roll back the Sarif4k version to 0.5.0" and stopped there, since that fixed the issue. I have a direct dependency on it because I need to merge Sarif reports before uploading to GH Actions; I don't think any 3p plugin in my build uses it — apart maybe from Detekt, but that is not problematic, since it's my direct dependency that causes issues.

https://github.com/JetBrains/jewel/blob/main/buildSrc/src/main/kotlin/MergeSarifTask.kt is the code that uses Sarif4k, for the record

Should be fixed in 5.0.0.
Please report back if not.


Plotted Intersections

So far this library is doing just about most of the charting related work; a great library.
Is there a way to get the intersection "marked" of the plotted lines when clicked, either on a x,y coordinates close to the intersection, or directly on the intersection.  This is a very important feature and I've seen that most of the plotting web or desktop applications have.  Some go as far as  allowing the end-user to make a region selection on the graph and in turn the graph will selects one intersection in that region.
On these other applications, all of them are been told first to go into the "intersection mode" by clicking on a button outside of graph, and once the graph has marked the intersection (if any), then it will exit the "intersection mode" on the mouse-up event (or something like that).
Here is one example of it on the FooPlot.com.

and here is another one on some other app I've seen:

Here is what I was mentioning before about selecting a region on the graph, and once the mouse is released (mouse-up), the graph will select one intersection; the black vertical lines are the region.

I see, thanks for the feedback the images help a lot. Finding intersections is quite a nice and challenging problem, I see that FooPlot doesn't solve the problem completely check http://fooplot.com/#W3sidHlwZSI6MCwiZXEiOiJ0YW4oeCkiLCJjb2xvciI6IiMwMDAwMDAifSx7InR5cGUiOjAsImVxIjoic2luKGV4cCh4KSkiLCJjb2xvciI6IiMwMDAwMDAifSx7InR5cGUiOjEwMDAsIndpbmRvdyI6WyItMi43MTU2MzI1Mzc0OTk5ODM1IiwiNy42ODQzNjc0NjI0OTk5NjIiLCItMy4wMjQ2OTg3MTg3NDk5ODEiLCIzLjM3NTMwMTI4MTI0OTk3MDMiXSwic2hvd3RpY2tzIjowLCJncmlkY29sb3IiOiIjQ0ZDRkNGIn1d
Right now I'm quite busy and I might implement this in the future, luckily the problem can be solved easily with interval math :smiley:

Thanks for getting back to me on this.  I had a feeling this could be a slightly challenging problem to implement, but glad to know that hopefully it can be added as feature hopefully in the near future. Once these new features (#17, #23) are added, this library will be have 100% of the most important features that any developers/companies would ever need to leverage this library, since it has been implemented on top of the powerful D3, thus it will gain a great publicity in the corporate world.

The solution to issue #17 is great.  It would be fantastic, if there is a possibility to apply the same Zoom Box (may be with another key 'CTRL') solution to this one to get "one" intersection.


ci: run poetry publish without using a separate action

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


[VNDA] - Feat: add user

What is this Contribution About?
This Pull Request introduces the implementation of the user hook for integrating VNDA - E-commerce Platform - with Deco.cx. This hook captures the user's accessToken and makes a request to the VNDA API to retrieve the associated user ID.
Changes Made

Utility Function:

A utility function was created to extract the accessToken from the user's cookie and make a call to the VNDA API to fetch the user data.

Updated useUser Hook:

The useUser hook has been updated to incorporate the new user loading logic.
The context structure was adjusted to store user data and loading state.

Loader Implementation:

A loader was implemented to make the request to the VNDA API, using the accessToken to retrieve user information.

Issue Link
Please link to the relevant issue that this pull request addresses:

Issue: #384

@yuriassuncx Can you rebase, so we can run checks again?

@yuriassuncx Can you rebase, so we can run checks again?

done


build: honour the libdispatch build type

When configuring libdispatch as part of the swift build on Linux with SourceKit
enabled, we would default to a release build.  However, that results in known
leaks being reported with LSAN when building with a debug standard library.
Pass along the LIBDISPATCH_BUILD_TYPE into the CMake build and map that to the
CMAKE_BUILD_TYPE for the project.

Replace this paragraph with a description of your changes and rationale. Provide links to external references/discussions if appropriate.

Resolves SR-NNNN.

@gottesmm @aschwaighofer - this might be an expedient way to get that mapped in via the build configuration

@shahmishal is it possible to run the LSAN job via a PR?

I just ran the LSAN bot configuration locally with this PR and
diff --git a/utils/build-presets.ini b/utils/build-presets.ini
index a5d34d0..3c0366e 100644
--- a/utils/build-presets.ini
+++ b/utils/build-presets.ini
@@ -961,6 +961,7 @@ release-debuginfo
 assertions
 enable-lsan
 debug-swift-stdlib
+debug-libdispatch

 dash-dash

It ran without errors.

@swift-ci Please test

@gottesmm You can use test with preset for LSAN testing.

@shahmishal Thanks.

@shahmishal That doesn't exist for Linux. Only for macOS.

@gottesmm I will add the support for it in the future.

I talked with Arnold/Compnerd. The change from Arnold's diff (the one posted in this PR) is needed to fix this. Compnerd is going to add that to the patch.

@shahmishal https://bugs.swift.org/browse/SR-8606

@swift-ci please test and merge

@swift-ci please test and merge


Fatal error for domain 'fbsbx.com' when using $rules->resolve('fbsbx.com')

Issue summary
Doing a rules resolve on domain 'fbsbx.com' returns empty data.
$domain = $rules->resolve('fbsbx.com');
Looking into the issue there seems to be a fatal error dumping $e from the rules resolve function.
$xdebug_message:
Pdp\Exception\CouldNotResolvePublicSuffix: The public suffix fbsbx.com can not be equal to the domain name fbsbx.com in J:\psl\vendor\jeremykendall\php-domain-parser\src\Domain.php on line 133
Exact code tested below:
<?php
require 'vendor/autoload.php';

use Pdp\Cache;
use Pdp\CurlHttpClient;
use Pdp\Manager;
use Pdp\Rules;

$manager = new Manager(new Cache(), new CurlHttpClient());
$rules = $manager->getRules(); //$rules is a Pdp\Rules object

$domain = $rules->resolve('fbsbx.com');
echo "Content: {$domain->getContent()}\n";            			// expected return 'fbsbx.com'
echo "PublicSuffix: {$domain->getPublicSuffix()}\n";       		// expected return 'com'
echo "RegistrableDomain: {$domain->getRegistrableDomain()}\n";  // expected return 'fbsbx.com'
echo "SubDomain: {$domain->getSubDomain()}\n";          		// expected return ''
echo "Resolvable: {$domain->isResolvable()}\n";               	// expected return true
echo "Known: {$domain->isKnown()}\n";                    		// expected return true
echo "ICANN: {$domain->isICANN()}\n";                    		// expected return true
echo "Private: {$domain->isPrivate()}\n";                  		// expected return false

Appears to work if used as, but otherwise seems like a bug:
$rules->resolve('fbsbx.com', Rules::ICANN_DOMAINS )
System informations

Information
Description

Pdp version
5.4.0

PHP version
PHP 7.2.11 (cli)

OS Platform
Windows 10

Standalone code, or other way to reproduce the problem
(Please complete the text below to help us fix the issue)
Expected result
j:\psl>php pslcheck.php
Content: fbsbx.com
PublicSuffix: com
RegistrableDomain: fbsbx.com
SubDomain:
Resolvable: true
Known: true
ICANN: true
Private: false

Actual result
j:\psl>php pslcheck.php
Content:
PublicSuffix:
RegistrableDomain:
SubDomain:
Resolvable:
Known:
ICANN:
Private:

@ishankaru this you made sure that the intl extension exists and is accessible in your PHP cli version 🤔

Yes the intl extension is available, PDP is working good, I have tested many domains including unicode etc, but this domain name seems to have an issue.

php -i from CLI:

There is an entry apps.fbsbx.com in https://publicsuffix.org/list/public_suffix_list.dat which I feel is causing this bug in PDP.

@ishankaru OK I've tested and I understand why. If you change your code to
use Pdp\Cache;
use Pdp\CurlHttpClient;
use Pdp\Manager;

$manager = new Manager(new Cache(), new CurlHttpClient());
$rules = $manager->getRules();
$rules->getPublicSuffix('fbsbx.com');

You'll get a Exception which is expected :tada:
Now for the explication
Rules::resolve unfortunately does not throw but returns a null Domain on error while  Rules::getPublicSuffix does throw.
The behavior is expected if we are to follow how other Public Suffix Resolver works in other languages :cry: . Refer to the following test suite https://github.com/jeremykendall/php-domain-parser/blob/develop/tests/RulesTest.php#L515
So in your example you should do the following instead:
use Pdp\Cache;
use Pdp\CurlHttpClient;
use Pdp\Manager;

$manager = new Manager(new Cache(), new CurlHttpClient());
$rules = $manager->getRules();
$domain = $rules->resolve('fbsbx.com');
if (null === $domain->getContent()) {
    // something wrong/fishy just happened
}

I will update the documentation and pinned you issue so that other may be aware of this.
Also it now reminds me why I did introduce the Rules::getPublicSuffix method so that it could throw in such situation :+1: .

@nyamsprod thank you for looking at this so quickly and providing feedback, I will add something to handle this in my code as you explained.

@nyamsprod I'm still looking for an explanation as to why the urls I provided in the linked ticket aren't considered valid domains by this library when they're perfectly valid domains in the real world. I understand you closed the issue because you were frustrated by my questions but it really wasn't helpful. The algorithm provided on the PSL website resolves them without issue if I follow it through, and online url parsers have no issue (https://www.freeformatter.com/url-parser-query-string-splitter.html, https://www.beautifyconverter.com/url-parser.php).

@Shardj I've responded to you in full the issue you've reported and I tried to be has open and complete has I could. Hijacking someone else resolved issue is not cool. Please refrain for doing so. If you find my answers not compelling you are still free to make a PR or fork the library to make the code more inline with your business expectation.

@nyamsprod true, it isn't cool and I don't like doing it. But isn't cool to lock my issue either so I wasn't sure where else to write. I left it be for a while as we already have a custom solution in place but we're back at trying to replace it so I thought I'd check back. I'd have no problem with creating a PR or a fork to meet my own expectations but that isn't the problem. I simply want to make sure my understanding is correct and from repeated re-reading of the locked issue neither myself or other members of my team who looked at the thread understand several things you've said. It seemingly doesn't follow the functionality described on the PSL website for checking the suffix is valid. We can't find any evidence that "A public suffix can not be resolved as explain on the public suffix website." as the PSL site algorithm does resolve this. Since you've taken issue with me responding here though I'll leave it be and push forward with what I already have.


PFS Failure - TokenNetwork does not exist

PFS1 failed with the following stacktrace on the SP2 Droplet:
Traceback (most recent call last):
  File "/usr/local/lib/python3.7/site-packages/scenario_player/main.py", line 230, in run
    runner.run_scenario()
  File "/usr/local/lib/python3.7/site-packages/scenario_player/runner.py", line 283, in run_scenario
    gevent.joinall(greenlets, raise_error=True)
  File "src/gevent/greenlet.py", line 849, in gevent._greenlet.joinall
  File "src/gevent/greenlet.py", line 865, in gevent._greenlet.joinall
  File "src/gevent/greenlet.py", line 312, in gevent._greenlet.Greenlet._raise_exception
  File "/usr/local/lib/python3.7/site-packages/gevent/_compat.py", line 47, in reraise
    raise value.with_traceback(tb)
  File "src/gevent/greenlet.py", line 716, in gevent._greenlet.Greenlet.run
  File "/usr/local/lib/python3.7/site-packages/scenario_player/tasks/base.py", line 74, in __call__
    return self._run(*args, **kwargs)
  File "/usr/local/lib/python3.7/site-packages/scenario_player/tasks/execution.py", line 41, in _run
    task()
  File "/usr/local/lib/python3.7/site-packages/scenario_player/tasks/base.py", line 74, in __call__
    return self._run(*args, **kwargs)
  File "/usr/local/lib/python3.7/site-packages/scenario_player/tasks/execution.py", line 65, in _run
    group.join(raise_error=True)
  File "/usr/local/lib/python3.7/site-packages/gevent/pool.py", line 433, in join
    greenlet._raise_exception()
  File "src/gevent/greenlet.py", line 312, in gevent._greenlet.Greenlet._raise_exception
  File "/usr/local/lib/python3.7/site-packages/gevent/_compat.py", line 47, in reraise
    raise value.with_traceback(tb)
  File "src/gevent/greenlet.py", line 716, in gevent._greenlet.Greenlet.run
  File "/usr/local/lib/python3.7/site-packages/scenario_player/tasks/base.py", line 74, in __call__
    return self._run(*args, **kwargs)
  File "/usr/local/lib/python3.7/site-packages/scenario_player/tasks/api_base.py", line 59, in _run
    f'HTTP status code "{resp.status_code}" while fetching {url}. '
scenario_player.exceptions.legacy.RESTAPIStatusMismatchError: HTTP status code "409" while fetching http://<IP_ADDRESS>:45803/api/v1/channels. Expected 2..: {"errors": "Token network for token 0x89943C6614E88565a1d0ef2f6dBa180613c39B55 does not exist"}

Logs available here:
http://<IP_ADDRESS>/Scenario_player_Logs-pfs1_get_a_simple_path-1-latest-2019-09-12.tar.gz
http://<IP_ADDRESS>/Scenario_player_Logs-pfs6_simple_path_rewards_same_token-1-latest-2019-09-11.tar.gz
￼
http://<IP_ADDRESS>/Scenario_player_Logs-pfs7_multiple_payments-1-latest-2019-09-11.tar.gz

see also #318

Possibly related to #132

Yeah, the problem was a race condition on the network registration. Raw logs.
"raiden.api.rest":
    "Opening channel"
    "token_address": "0x5c256175fF5B042D10EC01252e94f692a5e15408"

"raiden.blockchain.filters":
    "Querying StatelessFilter"

"raiden.api.rest":
    "Error processing request"
    "errors": "Token network for token 0x5c256175fF5B042D10EC01252e94f692a5e15408 does not exist"

"raiden.raiden_service":
    "token_network_registry_address": "0x603882F4e7fAb5942a585048CADc71F91D6160c5"
    "_type": "raiden.transfer.state_change.ContractReceiveNewTokenNetwork"

This is for pfs6_simple_path_rewards_same_token, pfs1_get_a_simple_path is missing logs and I have not looked into pfs7_multiple_payments.
Should be fixed by https://github.com/raiden-network/scenario-player/pull/327


Disable environment when running jq

This fixes https://github.com/jingweno/jqplay/issues/48.

Excellent.

I can't get it to work here. I always get a (*os.PathError)fork/exec : no such file or directory. If I use "jq" instead of Path as before it works. What am I doing wrong?


DBZ-8156 Add an option for publication.autocreate.mode to create a publication with no tables

https://issues.redhat.com/browse/DBZ-8156

@rkudryashov Applied, thanks! Could you please send a docs PR update?


Fix TestData type mismatch

Build currently failing
Unclear how this job from this PR passed without failure 🤔

Cache job shows "no cache found"
Cache not found for input keys: gradle-Linux-a274a3424d0727481f4b0a7e9cc56cf2a43b58b7f643b79fe562a31a7bdce111-fcf2086219a51411337d38ac2ddfc8e81dbc2eed31cb62bc92500d2683526113-

Originally failed from this commit but subsequent workflows succeeded so iunno wut is goin on


endpoint_bindings showing as needing to be updated

Description
When updating a particular resource, where nothing has actually changed, the endpoint_bindings via terraform seems to suggest that needs to be changed. It's a minor issue, but it's not reporting correctly, and hence it shows info that is not necessarily needed.
This could be quite cumbersome when there are several terraform resources, and picking the things that have actually changed could be difficult to pinpoint
Urgency
Annoying bug in our test suite
Terraform Juju Provider version
0.12.0
Terraform version
1.9.0
Juju version
3.4.3
Terraform Configuration(s)
resource "juju_application" "placement-mysql-router" {
  name = "placement-mysql-router"

  model = var.model-name

  charm {
    name    = "mysql-router"
    channel = var.mysql-router-channel
  }

  units = 0

  endpoint_bindings = [{
    space    = var.oam-space
  },{
    space    = var.internal-space
    endpoint = "shared-db"
  },{
    space    = var.internal-space
    endpoint = "db-router"
  }]

  config = {
    source = var.openstack-origin
  }
}

Reproduce / Test
First we apply the terrform

When we do a plan or apply the any time after wards we get teh same output suggesting that the endpoint bindings need updating as shown below

  # juju_application.placement-mysql-router will be updated in-place
  ~ resource "juju_application" "placement-mysql-router" {
      ~ endpoint_bindings = [
          + {
              + endpoint = "db-router"
              + space    = "oam"
            },
          + {
              + endpoint = "shared-db"
              + space    = "oam"
            },
            # (1 unchanged element hidden)
        ]
        id                = "cpe-jammy:placement-mysql-router"
        name              = "placement-mysql-router"
      + principal         = (known after apply)
        # (6 unchanged attributes hidden)

        # (1 unchanged block hidden)
    }

### Debug/Panic Output

_No response_

### Notes & References

_No response_

Interesting, I'm not quite sure why this would be happening. It will have to be investigated.


Not able to do npm install

CC: @alexrollin
HI,
Facing error while doing npm install after cloning it.

Hi @osi-bhushankumar, thanks for reporting this.  What's the error are you getting? Did you have the peerDependencies (react and react-dom) already installed?

This is http://prnt.sc/au6mvx. While we are trying to install dependencies.

It was a bug. Try again.
Thanks!

Now, It's stuck here :
' deprecated<EMAIL_ADDRESS>Package renamed to phantomjs-prebuilt. Please update 'phantomjs' package references to 'phantomjs-prebuilt''

@osi-bhushankumar I think that's a warning. Shouldn't block you to install the library. However I think it will be easy for you to work with the boilerplate https://github.com/NuCivic/react-dashboard-boilerplate

Thank you


Add UI support for cluster capabilities

https://github.com/rancher/rancher/issues/12422

Backend is merged in master.

Related issue - #16785
Related UI issues:
#16783
#16784

Needs testing, #16785 will be resolved later and is only loose end remaining in this area.

Note: All areas have been validated except for IngressCapabilities (previously IngressController); it's possible there may be a bug in this area and this area is being tested further.

Version: Master 2.2 (12/14/18)
Confirmed new UI features EXCEPT for the new row added to the add ingress page regarding ingressControllers in PR https://github.com/rancher/ui/pull/2364 (now called ingressCapabilities). This is not working and an API bug was entered around this: #17140 and EXCEPT for NodePortRange due to #16785


0008: Add proposal for common certificate handling

Description
Adds a proposal for common certificate handling for Tinkerbell components
Why is this needed
Provide a unified experience between Tinkerbell components for specifying certificate configuration and to allow for configuration using both the existing certificate generation and consuming certificates that are generated with cert-manager

I created a POC of using flags for configuring the tls certificates here: https://github.com/tinkerbell/tink/pull/266

That's great, I am not sure we should avoid the BC Break. I think we should remove the old behavior

@gianarb updated to remove the backwards compatibility, I also updated https://github.com/tinkerbell/tink/pull/266 for the same change (and also updated the PR to make docker-compose work for the command line argument changes).

Did we get an agreement on this? And about the bc-break? @mmlb ? I am good with it and I think we should do the bc-break

As discussed via Slack we are gonna make it!! So it is ready to be merged


[bug] panic: runtime error: makeslice: len out of range

Saving this output here for visibility and future reference when troubleshooting:
E0518 21:13:59.110857       1 gobmpsrv.go:95] fail to recover BMP message Common Header with error: invalid version in common header, expected 3 found 241
panic: runtime error: makeslice: len out of range

goroutine 954 [running]:
github.com/sbezverk/gobmp/pkg/gobmpsrv.(*bmpServer).bmpWorker(0xc000024600, {0x972b30?, 0xc000012030})
        /workdir/pkg/gobmpsrv/gobmpsrv.go:99 +0x62e
created by github.com/sbezverk/gobmp/pkg/gobmpsrv.(*bmpServer).server
        /workdir/pkg/gobmpsrv/gobmpsrv.go:53 +0x16a

@jarrodb thank you for reporting the panic and sorry for the delay with my reply, I was off.  Is there anything specific about the environment you can add where this panic occurred? Is it easily reproducible? Processing of Common Header code has not been changed as far as I remember for ages. Curious if it is result of some new format/field recently added. Please share the vendor of BGP speaker.

Oh, I was saving it for me to remember later and troubleshoot.  The particular vendor that generated this stream was Arista.  Once I duplicate it I will submit a PR.


Handle the case when rule test is a function

Do you want to request a feature, report a bug or ask a question?
report a bug
What is the current behavior?
it assumes all rules are strings or regexes
What is the expected behavior?
check whether a rule test is a function and call it rather than calling ruleMatcher
If the current behavior is a bug, please provide the steps to reproduce, at least part of webpack config with loader configuration and piece of your code.
here is a piece of webpack config that makes svg-sprite-loader to fail
  {
    test(path) {
      return !path.match(/\.ts$/) || path.match(components_regex)
        ? false
        : true
    },
    exclude: /node_modules/,
    loader: 'awesome-typescript-loader',
    query: { transpileOnly: true }
  }

Please tell us about your environment:

Node.js version: any
webpack version: 3
svg-sprite-loader version: 3
OS type & version: any

Other information (e.g. detailed explanation, stacktraces, related issues, suggestions how to fix, links for us to have context, eg. stackoverflow, gitter, etc)
a simple fix:
in lib/utils/get-matched-rules.js file
replace
const matchedRules = rules.filter(rule => ruleMatcher(rule, request));

with
  const matchedRules = rules.filter(rule =>
    typeof rule.test === 'function'
      ? rule.test(request)
      : ruleMatcher(rule, request)
  );

@sleewoo thanks and sorry for ignoring your PR. Published as<EMAIL_ADDRESS>Ping me strongly next time when you'll need quick assistance.

thanks


Drop pyparsing version in documentation as it breaks on py3

Using without a version makes it work on py3

Thanks !
Not entirely sure but I do remember at the time there was a need for that specific version.
Cannot remember why though :-) Next time we should add a note to the docs about why that specific version.


How can you restrict a slack bot to a specific/pre-defined channel?

Hi,
How can you restrict a slack bot to to a specific/pre-defined channel?
I've been going through the botkit documentation and slack bot APIs, but I can't find anything that seems to do this.
I created a bot to use for admin/ops work, but I need to make sure non-admin users cannot use it. By removing DMs, I can force it to only "work" in channels where it's invited, but I don't want just anyone being able to invite it to any channel. I can't find a way to restrict it to an admin/private channels.
Any ideas are greatly appreciated.
Thanks.

@k001 Would you mind showing an example.
What I did for the time being is code up a little "ACL" type of block above every handler that "matters/needs to be private".  For smaller teams, let's say you have 1-2 (or a few more) "trusted" channels where you trust the people -- this is a good method to keep the bot private to the "trusted" channels, and making sure someone doesn't invite it to another channel/msg it directly to run an ops command.  It works well, but it's a pain to manage -- and you have to check the IDs for each channel which doesn't scale well.

@k001 Ping ^


💡[FEATURE]: Adding some facts about animals and pets.

Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
I'm always want to learn about pets and their nature with us. Many people don't know about pets and find them dirty but they are far more better and innocent than us.
Describe the solution you'd like
A clear and concise description of what you want to happen.
Adding facts, benefits, sacrifices and their bonds with us helps the adopter to know about pets and find it interesting to adopt a pet. This helps in increasing the adopters.

hey @akshitagupta15june can you please assign this task to me . i can clear this issue for you


Arabic locales do not work

I tried with default values for date and format string. I set locale to ar_AE and all I got was
RESULT
...
which I believe is loading. I suppose it crashed somewhere along the way and I never got to see the result

I believe that this is related to encoding on the Javascript side. There's a similar issue with French dates that include accented characters.

This does work now, the issue was captured in detail in #9 .


IE 10

Turbolinks.supported returns true.
When I click on the link I get next error:
Unable to get property 'pushState' of undefined or null reference
IE version is 10.0.9200.16521. Turbolinks version is 3.0.0, master branch

The tests pass for me on IE 10. Do you have a live demo where we can replicate?


Add algorithm types to threat detection disabled alerts description

Added Data_Exfiltration and Unsafe_Action as allowed values to disabled alert.
This checklist is used to make sure that common issues in a pull request are addressed. This will expedite the process of getting your pull request merged and avoid extra work on your part to fix issues discovered during the review process.
PR information

[x] The title of the PR is clear and informative.
[x] There are a small number of commits, each of which have an informative message. This means that previously merged commits do not appear in the history of the PR. For information on cleaning up the commits in your pull request, see this page.
[x] Except for special cases involving multiple contributors, the PR is started from a fork of the main repository, not a branch.
[x] If applicable, the PR references the bug/issue that it fixes.
[x] Swagger files are correctly named (e.g. the api-version in the path should match the api-version in the spec).

Quality of Swagger

[x] I have read the contribution guidelines.
[x] My spec meets the review criteria:

[x] The spec conforms to the Swagger 2.0 specification.
[x] The spec follows the guidelines described in the Swagger checklist document.
[x] Validation tools were run on swagger spec(s) and have all been fixed in this PR.

Automation for azure-sdk-for-python

Automation for azure-sdk-for-ruby

Can one of the admins verify this patch?

Automation for azure-sdk-for-java

Automation for azure-sdk-for-go

Automation for azure-sdk-for-node

@dnayantara @jaredmoo @nathannfan please, review.

@t-arrinb could you address comments?

Altering to enum may have larger implications than just here (requiring RP change as well). I'm discussing with my manager today on how to proceed.

Currently we'll stay with description as is, opened task 294228 to move to enum.

@sergey-shandar What's the next step?


ngModel bound dropdown value changes visually while variable doesn't

By binding a dropdown to a variable, it would make sense for that variable to hold the selected option of the dropdown at all times. However, this is not the case. If you select an item in a dropdown, then refresh the list of items (via a variable in ng-options), if the selected item is not included in the new list it reverts back to the default option (visually) while ngModel bound variable holds the old selected value.
Here is a fiddle: http://jsfiddle.net/LUm7y/

This is fixed by #10639 - see http://plnkr.co/edit/xySkDHjCmr3U56SRhbIm?p=preview


Qt: significantly lower CPU usage while scrolling on PC

the contents of parent widgets are propagated by default. all parents and the entire scroll area will be re-paint while scrolling,that cause high CPU usage.

@adeebshihadeh :  It's works as expected on PC, only the newly exposed parts will be repaint, the maximum cpu usage is below 7% while scrolling.
but it is different on eon. although the parent will no longer receive the paint message after this PR, the entire scroll area will still be repainted. I suspect it is caused by some problem with the qt library on the eon.


Topic/sorting 721

This is intended to resolve Issue #721, which relates to inconsistencies across the implementations of MergeSort, InsertionSort, and QuickSort.

All these strategies operate in place on segments of arrays that start and end at specified indices. In the QuickSort implementation, the end index was inclusive, while it was exclusive in MergeSort and InsertionSort. This has been fixed in this changeset to make the end index exclusive in all three implementations, following the convention in the Java Collections library. Validity and boundary checks have been introduced for the various parameters. Unit tests have been written to document and test the new behavior.

The naming of the start and end indices has been made consistent.

Unit tests have been added for checking correctness, stability, edge cases, etc.

Scaladocs have been added for all the utility methods in the Sorting package.

Codecov Report

Merging #738 into master will increase coverage by 0.3%.
The diff coverage is 100%.

@@            Coverage Diff            @@
##           master     #738     +/-   ##
=========================================
+ Coverage   51.28%   51.58%   +0.3%
=========================================
  Files         196      196
  Lines       11765    11774      +9
  Branches     1615     1591     -24
=========================================
+ Hits         6034     6074     +40
+ Misses       5731     5700     -31

Impacted Files
Coverage Δ

core/src/main/scala/spire/math/Sorting.scala
100% <100%> (+46.42%)
:arrow_up:

core/src/main/scala/spire/math/Natural.scala
65.75% <0%> (-1.82%)
:arrow_down:

core/src/main/scala/spire/math/Quaternion.scala
48.11% <0%> (-0.95%)
:arrow_down:

core/src/main/scala/spire/math/Interval.scala
68.12% <0%> (+0.25%)
:arrow_up:

extras/src/main/scala/spire/math/FixedPoint.scala
34.97% <0%> (+0.54%)
:arrow_up:

...ala/spire/math/poly/BigDecimalRootRefinement.scala
86.09% <0%> (+0.66%)
:arrow_up:

core/src/main/scala/spire/math/Algebraic.scala
66.86% <0%> (+1.01%)
:arrow_up:

...ore/src/main/scala/spire/math/interval/Bound.scala
57.48% <0%> (+3.14%)
:arrow_up:

Continue to review full report at Codecov.

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

Beautiful PR! Thanks for the hard work; I've incorporated some of your notes in the future release notes.

Hi! If you'd like to see your real name in the CHANGES.md file, please make a PR towards it, I'd be happy to merge.


Create common device-host comms module

This issue covers the creation of a piece of common library functionality to implement communications between the device and the host.
Basic goals:

Communications will use a multi-user sub-pub model:

Using sub-pub with handlers allows multiple components to share a common network link.
The host is the server side of the connection, layer is the client.
All comms are initiated by the client.

Client library will be C++, and host library will be Python.
Communications protocol will support:

Sync reads
Sync writes
Async writes
Sync read-write

Client logging producer/consumer provided.

Goal is to swap out logcat for something reliable.

Virtual file system producer/consumer provided.

Goal is to allow read/write from host file system for easy to edit asset swaps.

Load-time config from file provided.

Goal to allow load-time parameterization of a layer from a file on the host.

Simple interactive config terminal provided.

Goal is to allow simple interactive configuration at load time.
Goal is to allow simple "Press a key to make the layer do something" triggers.

On Android:

Use TCP/IP socket on the host.
Use Unix domain socket on the device.
Use adb reverse localabstract:<device uds> tcp:<host port>

Implemented by #11


Configure for combo blank on focus

Hi,
when i have XP Visual styles turned off and open TaskEditDialog "Configure for" combo appears to be blank on get focus, see below:

Thanks for the picture and OS detail. I'll look at it this week for inclusion in the 2.6.2 release.

Thanks! Same on Windows Server 2012.
BTW,  is it possible to have dialog with "XP Visual styles" turned on when I run dll from command prompt project or other DLL project?

Fixed (2.6.2)


OS.get_locale in Windows does not match sublang

Godot version:
3.2
OS/device including version:
Windows 10
Issue description:
OS.get_locale() does not return full locale
Ex: 'zh_TW' or 'zh_CN' will return 'zh' only
String OS_Windows::get_locale() const {

	const _WinLocale *wl = &_win_locales[0];

	LANGID langid = GetUserDefaultUILanguage();
	String neutral;
	int lang = langid & ((1 << 9) - 1);
	int sublang = langid & ~((1 << 9) - 1);

	while (wl->locale) {

		if (wl->main_lang == lang && wl->sublang == SUBLANG_NEUTRAL)
			neutral = wl->locale;

		if (lang == wl->main_lang && sublang == wl->sublang)
			return wl->locale;

		wl++;
	}

	if (neutral != "")
		return neutral;

	return "en";
}

may be change to int sublang = langid >> 10;  will work.

This seems to be Windows-specific, as I get en_US on Linux (with my system configured in English).

Looks like this is OS-specific. I get "en-AU" on OSX (correct), "en_US" on linux (correct), and "en" on windows (only half correct).


Long delay when created workspace

A large delay occurs when creating a workspace with:
yabai -m space --create; id=$(yabai -m query --displays --display | grep "spaces"); yabai -m space --focus $(echo ${id:10:${#id}-10})

There is a large delay before the workspace is created, this issue persists in the latest version but was not present in previous versions. I have tested, this issue remains present on the master branch.

This query shouldn't work in the current master since yabai -m query --displays --display returns a json structure, e.g. like here:
{
        "id":724057050,
        "index":2,
        "spaces":[2, 3],
        "frame":{
                "x":1680.0000,
                "y":-251.0000,
                "w":1920.0000,
                "h":1200.0000
        }
}

Could you try this:
yabai -m space --create; index="$(yabai -m query --displays --display | jq '.spaces[-1]')" && yabai -m space --focus "${index}"
skhd example:
https://github.com/koekeishiya/yabai/blob/7641afd7fdf95101de6675a8e1b9bfafdc3b4c63/examples/skhdrc#L41-L43

Ah, okay cool that works.


2.4 regression in http-log headers support

Summary

Kong version <IP_ADDRESS>-alpine
The headers config option is no longer functional. The headers are note added to the log request

Steps To Reproduce

Setup the following config

config:
  http_endpoint: http://mockbin.org/bin/:some-id
  method: POST
  headers:
    foo: ['Basic<PHONE_NUMBER>']

Check mockbin for headers in request

Also the workaround of specifying user:password@host results in an KIC error
time="2021-06-02T19:06:21Z" level=error msg="failed to update kong configuration: 1 errors occurred:\n\twhile processing event: {Create} failed: 500 Internal Server Error {\"message\":\"An unexpected error occurred\"}\n" component=controller
time="2021-06-02T19:06:21Z" level=error msg="failed to sync: 1 errors occurred:\n\twhile processing event: {Create} failed: 500 Internal Server Error {\"message\":\"An unexpected error occurred\"}\n" component=sync-queue

Hello, @jam01.
I am unable to reproduce this issue. Here is what I have tried:

run netcat so we can inspect the log request

nc -l -p 7777

Add the http-log plugin, pointing to our

http :8001/plugins name=http-log config.http_endpoint=http://localhost:7777/ config.headers.foo='basic bar' -f

Issue a request

Check nc output:

$ nc -l -p 7777
POST / HTTP/1.1
Content-Type: application/json
User-Agent: lua-resty-http/0.14 (Lua) ngx_lua/10019
Host: localhost
foo: basic bar
Content-Length: 1559

{"latencies":{"proxy":346,"request":401,"kong":55},"route":{"regex_priority":0,"service":{"id":"c2791f94-2321-430e-8dc2-fccaa283e945"},"name":"httpbin","strip_path":true,"request_buffering":true,"response_buffering":true,"https_redirect_status_code":426,"created_at":1622665533,"updated_at":1622665533,"id":"cfd0da3f-b4f2-4579-8391-9c27b95bac16","protocols":["http","https"],"path_handling":"v0","paths":["\/"],"preserve_host":false,"ws_id":"35bbcd4a-2aec-48cd-b378-ca0ad168b69b"},"request":{"url":"http:\/\/localhost:8000\/anything","querystring":{},"uri":"\/anything","size":143,"headers":{"user-agent":"HTTPie\/2.4.0","accept":"*\/*","host":"localhost:8000","connection":"keep-alive","accept-encoding":"gzip, deflate"},"method":"GET"},"started_at":1622665543539,"service":{"connect_timeout":60000,"created_at":1622665533,"read_timeout":60000,"id":"c2791f94-2321-430e-8dc2-fccaa283e945","updated_at":1622665533,"retries":5,"name":"httpbin","host":"httpbin.org","port":80,"write_timeout":60000,"ws_id":"35bbcd4a-2aec-48cd-b378-ca0ad168b69b","protocol":"http"},"client_ip":"<IP_ADDRESS>","tries":[{"balancer_start":1622665543594,"ip":"<IP_ADDRESS>","balancer_latency":0,"port":80}],"upstream_uri":"\/anything","response":{"status":200,"size":773,"headers":{"access-control-allow-origin":"*","connection":"close","via":"kong\/2.4.1","x-kong-proxy-latency":"55","server":"gunicorn\/19.9.0","x-kong-upstream-latency":"346","content-length":"470","content-type":"application\/json","access-control-allow-credentials":"true","date":"Wed, 02 Jun 2021 20:25:43 GMT"}}}

Might this be something on the KIC or Enterprise side? cc @mikefero @Kong/team-k8s.

We are using KIC and Enterprise. Same KIC image tag 1.1 when trying 2.4 and seeing this issue, and when trying 2.3 where it works fine.

Hi @jam01,
I am also unable to reproduce the issue running Kong Gateway <IP_ADDRESS> (Alpine). Below are the validation steps I used to ensure the headers were being sent to Mockbin via the http-log plugin.
Validation steps

Mockbin bin must be created before executing the validation steps.
Gojira was used to spin up a traditional Kong Gateway instance.

Start up a traditional Kong Gateway <IP_ADDRESS> instance
gojira up --image kong/kong-gateway:<IP_ADDRESS>-alpine

Shell into the Kong Gateway instance
gojira shell --image kong/kong-gateway:<IP_ADDRESS>-alpine

Install required applications for configure and test
apk add httpie jq

Configure a route and http-log plugin
http POST :8001/services name=default url="http://httpbin.org/anything"
http POST :8001/services/default/routes name="default" paths:='["/http-log"]'
http :8001/plugins name=http-log config:='{"http_endpoint":"http://mockbin.org/bin/:uuid", "method":"POST", "headers":{"foo": ["Basic<PHONE_NUMBER>"]}}'

Note: Replace :uuid in all mockbin requests with associated Mockbin bin UUID
Execute test by accessing the configured route
http :8000/http-log

Verify the foo header was sent via http-log plugin
http http://mockbin.org/bin/:uuid/log | jq '.log.entries[-1].request.headers[] | select(.name=="foo")'

Result
{
  "name": "foo",
  "value": "Basic<PHONE_NUMBER>"
}

Hopefully someone from @Kong/team-k8s might be able to shed some more light on the issue you are experiencing.

I appreciate everyone's help. I'm not sure if it was a type or some other magic, but things started working seemingly without any changes. Will close now.


Fix Color type definition

Hey, it's me again, with a small cleanup after the previous PR merges.
After the merge of #141, the Color definition was not correct anymore in #138.
This change just uses a simple union type for the Color. The two values for White make it difficult to use an Enum.
Have a nice day!

@JordiChauzi warms my heart to see this code. I am also sad about the change from enum to consts but it's chill and we're going to fix this in The Great Refactor™ 😄


DateTimeOffset has been saved as 8 bytes while it is 10

DateTimeOffset has been saved as 8 bytes while it is 10. It needs to be saved as blob.

I don't have rights to push feature branch with fix

Pull Request: https://github.com/praeclarum/sqlite-net/pull/933/commits/303dbe5f88934f3ba5f6601037b8d73883c9cab9

I tested DateTimeOfffset and it does not work. Does anyone know when this will be fixed?

I tested DateTimeOfffset and it does not work. Does anyone know when this will be fixed?


Handle NULL values with Frontend

During result tuple materialization, this PR materializes NULL values as 0B strings instead of 'integer_null', 'timestamp_null', etc. Then, protocol.cpp checks if the size of the value string is 0B. If it is, it treats it as a NULL value and handles it according to the wire protocol specifications.
OrderStatus doesn't give unexpected errors any more.
Further details in #415

Coverage decreased (-0.2%) to 63.417% when pulling 5fcb19b86fec3c138eddb17ea53ca620d3fb090f on sid1607:master into 7c036ad0cf1c8c716614737851c4f3d9978bbc14 on cmu-db:master.


AssetsBunled $publishOptions No Works.

Hi, my composer:
"require": {
    "php": ">=5.4.0",
    "yiisoft/yii2": "dev-master",
    "yiisoft/yii2-bootstrap": "dev-master",
    "yiisoft/yii2-swiftmailer": "dev-master"
},

My Example Assets:
<?php

namespace terabyte\adminlte\assets\themes\AdminLTE;

use yii\web\AssetBundle;

class FontAwesomeAsset extends AssetBundle
{
    public $sourcePath = '@bower/font-awesome';
    public $css = [
        'css/font-awesome.min.css',
    ];
    public $publishOptions = [
        'only' => [
            'fonts/',
            'css/',
        ]
    ];
}

Debug Assets:

Problem:
1.- Copy all subdirectory:

2.- Copy empty subdirectories:

have you tried it with a wildcard *?
    public $publishOptions = [
        'only' => [
            'fonts/*',
            'css/*',
        ]
    ];

works part, correctly published the requested subdirectories, but also all the empty subdirectory.
Create Subdirectory css y fonts Asset Publish Correct.
Error:
Create subdirectory less y scss unsolicited.
Thks,

@cebe work fine with except option, please update docs.
namespace cjtterabytesoft\adminlte\basic\assets\bower;

use yii\web\AssetBundle;

class FontAwesomeAsset extends AssetBundle
{
    public $sourcePath = '@vendor/bower/font-awesome/';

    public $css = [
        'css/font-awesome.css',
    ];

    public $publishOptions = [
        'only' => [
            'fonts/*',
            'css/*',
        ],
        'except' => [
            'less',
            'scss',
        ]
    ];
}

hi @cebe, the commit https://github.com/yiisoft/yii2/commit/8a506e1ee3f4ce2e1d66e93fb54814475d65ae09 the @klimov-paul It is not implemented in version Yii 2.0.5 $publisOptions = [only, except] no works.
Code Yii 2.0.4:

/**
 * Publishes a directory.
 * @param string $src the asset directory to be published
 * @param array $options the options to be applied when publishing a directory.
 * The following options are supported:
 *
 * - only: array, list of patterns that the file paths should match if they want to be copied.
 * - except: array, list of patterns that the files or directories should match if they want to be excluded from being copied.
 * - caseSensitive: boolean, whether patterns specified at "only" or "except" should be case sensitive. Defaults to true.
 * - beforeCopy: callback, a PHP callback that is called before copying each sub-directory or file.
 *   This overrides [[beforeCopy]] if set.
 * - afterCopy: callback, a PHP callback that is called after a sub-directory or file is successfully copied.
 *   This overrides [[afterCopy]] if set.
 * - forceCopy: boolean, whether the directory being published should be copied even if
 *   it is found in the target directory. This option is used only when publishing a directory.
 *   This overrides [[forceCopy]] if set.
 *
 * @return array the path directory and the URL that the asset is published as.
 * @throws InvalidParamException if the asset to be published does not exist.
 */
protected function publishDirectory($src, $options)
{
    $dir = $this->hash($src . filemtime($src));
    $dstDir = $this->basePath . DIRECTORY_SEPARATOR . $dir;
    if ($this->linkAssets) {
        if (!is_dir($dstDir)) {
            symlink($src, $dstDir);
        }
    } elseif (!empty($options['forceCopy']) || ($this->forceCopy && !isset($options['forceCopy'])) || !is_dir($dstDir)) {
        $opts = array_merge(
            $options,
            [
                'dirMode' => $this->dirMode,
                'fileMode' => $this->fileMode,
            ]
        );
        if (!isset($opts['beforeCopy'])) {
            if ($this->beforeCopy !== null) {
                $opts['beforeCopy'] = $this->beforeCopy;
            } else {
                $opts['beforeCopy'] = function ($from, $to) {
                    return strncmp(basename($from), '.', 1) !== 0;
                };
            }
        }
        if (!isset($opts['afterCopy']) && $this->afterCopy !== null) {
            $opts['afterCopy'] = $this->afterCopy;
        }
        FileHelper::copyDirectory($src, $dstDir, $opts);
    }

    return [$dstDir, $this->baseUrl . '/' . $dir];
}

Code Yii 2.0.5:

/**
 * Publishes a directory.
 * @param string $src the asset directory to be published
 * @param array $options the options to be applied when publishing a directory.
 * The following options are supported:
 *
 * - beforeCopy: callback, a PHP callback that is called before copying each sub-directory or file.
 *   This overrides [[beforeCopy]] if set.
 * - afterCopy: callback, a PHP callback that is called after a sub-directory or file is successfully copied.
 *   This overrides [[afterCopy]] if set.
 * - forceCopy: boolean, whether the directory being published should be copied even if
 *   it is found in the target directory. This option is used only when publishing a directory.
 *   This overrides [[forceCopy]] if set.
 *
 * @return array the path directory and the URL that the asset is published as.
 * @throws InvalidParamException if the asset to be published does not exist.
 */
protected function publishDirectory($src, $options)
{
    $dir = $this->hash($src . filemtime($src));
    $dstDir = $this->basePath . DIRECTORY_SEPARATOR . $dir;
    if ($this->linkAssets) {
        if (!is_dir($dstDir)) {
            symlink($src, $dstDir);
        }
    } elseif (!empty($options['forceCopy']) || ($this->forceCopy && !isset($options['forceCopy'])) || !is_dir($dstDir)) {
        $opts = [
            'dirMode' => $this->dirMode,
            'fileMode' => $this->fileMode,
        ];
        if (isset($options['beforeCopy'])) {
            $opts['beforeCopy'] = $options['beforeCopy'];
        } elseif ($this->beforeCopy !== null) {
            $opts['beforeCopy'] = $this->beforeCopy;
        } else {
            $opts['beforeCopy'] = function ($from, $to) {
                return strncmp(basename($from), '.', 1) !== 0;
            };
        }
        if (isset($options['afterCopy'])) {
            $opts['afterCopy'] = $options['afterCopy'];
        } elseif ($this->afterCopy !== null) {
            $opts['afterCopy'] = $this->afterCopy;
        }
        FileHelper::copyDirectory($src, $dstDir, $opts);
    }

    return [$dstDir, $this->baseUrl . '/' . $dir];
}

publishOptions does not work for me neither
class SemanticAsset extends \yii\web\AssetBundle
{

    public $sourcePath = '@bower/semantic-ui/dist/';
    public $css = [
        'semantic.min.css',
    ];
    public $js = [
        'semantic.min.js'
    ];
    public $publishOptions = [
        'except' => [
            'components/'
        ]
    ];

}```

Yet the `components` directory is being published (Windows)


Bug: (sort-classes) Overloads are not properly sorted.

Describe the bug
It's seems like there is an error in the way you handle overloads. The top most overload is always treated as a separate function and because it has no body, TypeScript doesn't like this.
Code example
For example, it turns this:
class X {
    setBackground(color: number, hexFlag: boolean): this
    setBackground(color: Color | string | CSSColor): this
    setBackground(r: number, g: number, b: number, a?: number): this
    setBackground(color: ColorArgument, arg1?: boolean | number, arg2?: number, arg3?: number): this {
        <body>
    }
}

into this:
class X {
    setBackground(r: number, g: number, b: number, a?: number): this
    setBackground(color: CSSColor | Color | string): this
    setBackground(color: ColorArgument, arg1?: boolean | number, arg2?: number, arg3?: number): this {
        <body>
    }
    setBackground(color: number, hexFlag: boolean): this
}

ESLint version
8.45.0
ESLint Plugin Perfectionist version
1.5.0
Additional comments
No response
Validations

[X] Read the docs.
[X] Check that there isn't already an issue that reports the same bug to avoid creating a duplicate.

Thanks for the issue! I'll fix this problem soon.

Fixed in c4939b44de0ea9e77a98cee76d4043926d3a02a8.
Release coming soon.

Released in v2.0.0


Create various helper functions for more complex properties

These functions include:

oneof,
choose,
implies,
when_fail,
...

Several helpers have been added, more will be added later.


Auto Update Box Collider of LG_Ladder depend on Thickness and Width value

Yes

Thickness and width are fixed aren't they?

Can you send some code snippets? I want an idea of what I need to do