I wonder how can i apply this to a new non-public dataset, please.

Hi @liyanping0317
You'll need to just create your data loader class (like the ones in dataloaders/) to load the images and the labels. Then simply call the loader for training.

@yassouali Thanks a lot. I created my own dataloader classs, but when i called the train, there was an error like cuDNN error: CUDNN_STATUS_INTERNAL_ERROR. I seach on the internet, it seems to be realated to the number of objects to be segmented. Is there something else need to be change except the num_classes in the dataloader classs.

@liyanping0317 make sure to change the number of classes in the config file depending on your use case.

@yassouali For some unknow reasons, there is always an error like this:TypeError: zip argument #2 must support iteration. I tried every method i can search on the internet, but stil couldnot solve it. May i ask for your help...

@yassouali For some unknow reasons, there is always an error like this:TypeError: zip argument #2 must support iteration. I tried every method i can search on the internet, but stil couldnot solve it. May i ask for your help...

Hi @liyanping0317
Can you post the code that causes this error?

Hi @liyanping0317
Can you post the code that causes this error?

@liyanping0317 I have same problem. May I ask you your solution later?

@liyanping0317 I have same problem. May I ask you your solution later?

Hi @liyanping0317
Can you post the code that causes this error?

I have the same problem. My dataloader code  is shown below
`import torch
import cv2
from PIL import Image
from glob import glob
from torch.utils.data import Dataset
from torchvision import transforms
class TC_Race_Dataset(BaseDataSet):
def init(self, **kwargs):
self.num_classes = 9
self.palette = palette.tc_race_palette
super(TC_Race_Dataset, self).init(**kwargs)
def _set_files(self):
    if self.split in ["training", "validation"]:
        self.image_dir = os.path.join(self.root, 'images', self.split)
        self.label_dir = os.path.join(self.root, 'annotations', self.split)
        self.files = [os.path.basename(path).split('.')[0] for path in glob(self.image_dir + '/*.tif')]
    else:
        raise ValueError(f"Invalid split name {self.split}")

def _load_data(self, index):
    image_id = self.files[index]
    image_path = os.path.join(self.image_dir, image_id + '.tif')
    label_path = os.path.join(self.label_dir, image_id + '.png')
    image = np.asarray(Image.open(image_path), dtype=np.float32)
    # print(image)
    label = np.asarray(Image.open(label_path), dtype=np.int32)
    #print(label)
    return image, label, image_id

class TC_RACE(BaseDataLoader):
def init(self, data_dir, batch_size, split, crop_size=None, base_size=None, scale=True, num_workers=1,
val=False,
shuffle=False, flip=False, rotate=False, blur=False, augment=False, val_split=None, return_id=False):
self.MEAN = [0.5,0.5,0.5,0.5]
self.STD = [0.5,0.5,0.5,0.5]
    kwargs = {
        'root': data_dir,
        'split': split,
        'mean': self.MEAN,
        'std': self.STD,
        'augment': augment,
        'crop_size': crop_size,
        'base_size': base_size,
        'scale': scale,
        'flip': flip,
        'blur': blur,
        'rotate': rotate,
        'return_id': return_id,
        'val': val
    }

    self.dataset = TC_Race_Dataset(**kwargs)
    super(TC_RACE, self).__init__(self.dataset, batch_size, shuffle, num_workers, val_split)`

The traceback is:
  File "train.py", line 61, in <module>     main(config, args.resume)   File "train.py", line 42, in main     trainer.train()   File "/home/ljt21/race/pytorch_segmentation/base/base_trainer.py", line 101, in train     results = self._train_epoch(epoch)   File "/home/ljt21/race/pytorch_segmentation/trainer.py", line 70, in _train_epoch     loss.backward()   File "/home/ljt21/anaconda3/envs/tc_race/lib/python3.6/site-packages/torch/tensor.py", line 107, in backward     torch.autograd.backward(self, gradient, retain_graph, create_graph)   File "/home/ljt21/anaconda3/envs/tc_race/lib/python3.6/site-packages/torch/autograd/__init__.py", line 93, in backward     allow_unreachable=True)  # allow_unreachable flag RuntimeError: cuDNN error: CUDNN_STATUS_INTERNAL_ERROR
I'd appreciate it if you could help me

Hi @liyanping0317
Can you post the code that causes this error?

I have the same problem. My dataloader code  is shown below
`import torch
import cv2
from PIL import Image
from glob import glob
from torch.utils.data import Dataset
from torchvision import transforms
class TC_Race_Dataset(BaseDataSet):
def init(self, **kwargs):
self.num_classes = 9
self.palette = palette.tc_race_palette
super(TC_Race_Dataset, self).init(**kwargs)
def _set_files(self):
    if self.split in ["training", "validation"]:
        self.image_dir = os.path.join(self.root, 'images', self.split)
        self.label_dir = os.path.join(self.root, 'annotations', self.split)
        self.files = [os.path.basename(path).split('.')[0] for path in glob(self.image_dir + '/*.tif')]
    else:
        raise ValueError(f"Invalid split name {self.split}")

def _load_data(self, index):
    image_id = self.files[index]
    image_path = os.path.join(self.image_dir, image_id + '.tif')
    label_path = os.path.join(self.label_dir, image_id + '.png')
    image = np.asarray(Image.open(image_path), dtype=np.float32)
    # print(image)
    label = np.asarray(Image.open(label_path), dtype=np.int32)
    #print(label)
    return image, label, image_id

class TC_RACE(BaseDataLoader):
def init(self, data_dir, batch_size, split, crop_size=None, base_size=None, scale=True, num_workers=1,
val=False,
shuffle=False, flip=False, rotate=False, blur=False, augment=False, val_split=None, return_id=False):
self.MEAN = [0.5,0.5,0.5,0.5]
self.STD = [0.5,0.5,0.5,0.5]
    kwargs = {
        'root': data_dir,
        'split': split,
        'mean': self.MEAN,
        'std': self.STD,
        'augment': augment,
        'crop_size': crop_size,
        'base_size': base_size,
        'scale': scale,
        'flip': flip,
        'blur': blur,
        'rotate': rotate,
        'return_id': return_id,
        'val': val
    }

    self.dataset = TC_Race_Dataset(**kwargs)
    super(TC_RACE, self).__init__(self.dataset, batch_size, shuffle, num_workers, val_split)`

The traceback is:
  File "train.py", line 61, in <module>     main(config, args.resume)   File "train.py", line 42, in main     trainer.train()   File "/home/ljt21/race/pytorch_segmentation/base/base_trainer.py", line 101, in train     results = self._train_epoch(epoch)   File "/home/ljt21/race/pytorch_segmentation/trainer.py", line 70, in _train_epoch     loss.backward()   File "/home/ljt21/anaconda3/envs/tc_race/lib/python3.6/site-packages/torch/tensor.py", line 107, in backward     torch.autograd.backward(self, gradient, retain_graph, create_graph)   File "/home/ljt21/anaconda3/envs/tc_race/lib/python3.6/site-packages/torch/autograd/__init__.py", line 93, in backward     allow_unreachable=True)  # allow_unreachable flag RuntimeError: cuDNN error: CUDNN_STATUS_INTERNAL_ERROR
I'd appreciate it if you could help me

@Unrivaled2 I think the direct reason of  your problem is that the class numbers in your label is bigger than you set in self.num_classes, but deeply may be because your method of reading label is not correctly.  In some dataset, the label is number range from 1 to something, but some maybe decoded like ronge from 100 to 900, and others maybe grayscale image， but in this code label format must be the first one, so np.asarray is not always be the right way. You need to translate your label name to adapt the first way, like "label = cv2.imread(label_path, cv2.IMREAD_GRAYSCALE)". That's my advice.

@Unrivaled2 I think the direct reason of  your problem is that the class numbers in your label is bigger than you set in self.num_classes, but deeply may be because your method of reading label is not correctly.  In some dataset, the label is number range from 1 to something, but some maybe decoded like ronge from 100 to 900, and others maybe grayscale image， but in this code label format must be the first one, so np.asarray is not always be the right way. You need to translate your label name to adapt the first way, like "label = cv2.imread(label_path, cv2.IMREAD_GRAYSCALE)". That's my advice.

@yassouali Thanks a lot , i have saved my problem.

@yassouali Thanks a lot , i have saved my problem.


ICLR 2023 bundle

Would it be possible to add the style bundle for iclr 2023?

Yes, it would definitely be possible to add the ICLR style!
Would you be willing to contribute a pull request?
We would need the respective functions in fonts.py, fontsizes.py, and figsizes.py. The existing content should be a decent point of reference. If you have any questions, please let me know :)

Just to follow up: Is anyone interested in working on this? (@gisilvs, for example?)
Otherwise, I will give it a shot in the next couple of days.


Split peer slots between full and light nodes

Close https://github.com/paritytech/substrate/issues/8610
This PR adds a new CLI option --in-peers-light whose value defaults to 100.
The "existing slots" (--out-peers and --in-peers) are now reserved only for full nodes, and these 100 new additional slots are reserved for light clients.
Note that this concerns only the syncing, transactions, and GrandPa/Beefy protocols/peer sets. The parachains-related code and any other user-added protocol isn't concerned.
Motivation
The problem that this PR solves is that, currently, all the "in peers" of all nodes are always full. Since there is an equal number of "out peers" and "in peers", each full node on the network brings as many slots as it consumes.
Because some nodes are unfortunately behind a NAT, there are actually fewer available "in peers" than there are "out peers" being consumed, making the problem worse.
The obvious solution to that problem would be to increase the number of "in peers". While this solves the problem in theory, in practice older nodes have more chances of being discovered, and these older nodes would likely become full while younger nodes would not receive as many "in peers".
Having for example 125 full nodes connected to you consumes a huge amount of resources, as a node sends all transactions and GrandPa messages to all full nodes it is connected to.
This PR proposes another solution: the number of "in peers" for full nodes doesn't change, but we add new "in peers" specifically for light nodes. Having a light node connected to you consumes significantly fewer resources.
Actual behavior
For pragmatic reasons, the actual behavior of this PR is not what I've just described.
The code that assigns slots (the peerset) isn't aware of in/out slots, and I am too scared to do the necessary refactoring (https://github.com/paritytech/substrate/issues/5685), as each big refactoring has lead to months of tedious debugging sessions.
Instead, in practice the node can right now open outbound substreams towards light clients.
This means that a certain number of slots, both out and in, are dedicated to full nodes, and the rest is dedicated to light nodes.
I think that this is fine, especially because light clients are typically unreachable and will be purged quite rapidly, and because light clients are not discoverable through the DHT but only because they've connected to us in the past.

"each big refactoring has lead to months of tedious debugging sessions" -> I hope that was not your best motivation speech ever :stuck_out_tongue_closed_eyes: Anyways, I will go through the code, but I guess it needs a few commits to get all CI checks green yet.

Every protocol needs their own config parameters, and extra_sets does not allow to provide them.

I swear I opened an issue about this, but I can't find it.
To me the solution is to refactor the public API of sc-network to make it possible to accept/reject peers based on their handshake. This is essentially what this PR right now is doing: accepting/rejecting peers based on their handshake.
There's no need to "inject" a set of accept/deny conditions to the networking, you just have to add a new state to a peer, which is "waiting for acceptance/denial by the upper layers".
This is not really doable right now because all new peers substreams events are reported to all the listeners, whereas making this accept/deny system work requires a specific higher-level owner for each peer-substream tuple.

We might reason, parts of it is to stay backward compatible, but we still break that every now and then.

I agree it's not great, but the fact that we're doing peer-to-peer networking is really helpful here, because nodes don't have to give a reason to deny a peer or close a substream.
The networking protocol doesn't give any guarantee of liveness, and so we are more or less free to break this.

Merging, as we want to fork off Polkadot 0.9.16 today.

bot merge


Update NFR in DG

Any suggestions to the NFRs are welcome.

Just a random NFR at the top of my head:

HealthSync should have helpful error messages to guide users in case of input errors

Just a random NFR at the top of my head:
1. HealthSync should have helpful error messages to guide users in case of input errors

I argue that this is not an NFR, as this dips into the output of the program, which is on the functional side of the project.


Isaac/alpha tw pay

Problem solved
Short description of the bug fixed or feature added
Changes made

[x] add Pay ts SDK

How to test
Contributor NFT
Paste in your wallet address below and we will airdrop you a special NFT when your pull request is merged.
Address:

I assume this is superseded by #2313


Update Code - Proof_Of_Contribution.md Building Morpheus FAQ

Thanks for the contributions.

love to help with the project
Thank you!


about reproduce the experiment

Hello I would like to know how to reproduce the experiment on the WEATHER dataset. I'm trying to run pretrain_model/moment-research-main/reproduce/finetuning/forecasting_weather.sh directly but it says moment-research-main/results/moment_ checkpoints is empty, do I need to pretrain first or can I just call the model on huggingface to train it?

Hi,
Thanks for your interest in MOMENT! You might have to change the script a little to load a pre-trained model. At the time of writing the code, we had MOMENT models stored in the moment_checkpoint directory locally. But you should certainly be able to use pre-trained MOMENT models and with minor changes to the script you should be able to run experiments.
Best,
Mononito


Upstream installApp: via SimDevice

We don't have to use NSTask to do it. installApplication: just needs the correct parameters.

Fixed as of 3c92f


Accessibility] [Keyboard Navigation -Playground]: Focus order is not logical after selecting the tabs in playground page. [Sev3][WCAG2.4.3]

Test Environment:
OS Build: Windows 11
Version: 21H2 (OS Build 22000.318)
Browser: Edge
Version 96.0.1054.43 (Official build) (64-bit)
URL: https://tsdoc.org/
Screen reader: Narrator
Repro Steps:

Open the above URL and login with valid credentials.
TSDoc page will get displayed.
Now, navigate to the ‘Playground’ link and activate it.
Now, navigate to tabs (HTML, DOM, Line...) and activate it, check whether the focus order is logical or not after activating the tab.

Actual:
Focus order is not logical after selecting the tabs in playground page. After activating the tab, the focus is again moving to ‘TSDocs’ link in the header which is not logical.
Expected:
Focus order should be logical after selecting the tabs in playground page. After activating the tab, the focus should moves to the first interactive element in the tab.
User Impact:
When focus order does not follow the visible reading order, the experience can create a different interaction pattern, and/or unintended content relationships for assistive technology users. On rare occasions, there is a logical reason the focus order is different from the reading order, but the meaning of the content and interactions must remain the same.
WCAG Reference:
https://www.w3.org/WAI/WCAG21/Understanding/focus-order
https://user-images.githubusercontent.com/88436727/150644847-24dce685-acc2-4162-862a-c30e0b8f9922.mp4

This issue has been closed because this Jekyll project has been retired. The documentation content has been migrated to Docusaurus.
If the problem has not been addressed, please file a new issue under this GitHub project instead:
https://github.com/microsoft/rushstack-websites


Added build badges

Resolves #482

@pavlovcik

Make sure you're using the latest version of development which passes CI. Then make sure to follow the CI steps locally so you know how to setup the workspace properly.

@pavlovcik  Update:

Modified to "Build and Test" workflow to update number of lines covered
You would need to add your GITHUB auth token to the repository secrets as it is required by the Coverage CI
Added badges to show CI status in the development branch
Comments and reviews appreciated.

Don't commit .env
Updating forge-std seems wrong too.
I'll make sure that the RPC URL is using the selector script we already built.

I removed the .env file. Seemed like the only solution to the "RPC_URL" error
The forge-std files was auto updated i think by a "forge" command. Any suggestions?
@pavlovcik Thanks

On my branch I just set the value to our ubq gateway i mentioned in the devpool chat.
Revert the submodule changes probably


remove debug from readme, this actually causes errors

The Job example in the readme doesn't work. if you remove this, then it does. Hopefully this will save others some frustration.

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.Adam Prime seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.You have signed the CLA already but the status is still pending? Let us recheck it.

I just saw someone submitted this exact same patch three months ago.
Please get around to merging one of them


Unable to load dashboard using docker-compose up

cloning the repository and starting the project with docker-compose up shows the web GUI stuck starting services.

removed docker-compose and installed docker-compose-v2 using apt. everything works smoothly


Prevent goto next step when input data is invalid

when set the wz-next="fn()" , function fn will validate the input data, if the data is not accepted, fn will return "false", the wizard will not goto next step, and user can correct the input.   return nothing and true, wizard will goto next step

Is there a way to call a custom function before calling goTo function? goTo is the function triggered on the step label click.


When switching between the mutant and test tabs multiple requests are executed

Problem
For example, this is me switching between tabs 2 times:

Steps to reproduce

Visit the Dashboard.
Switch from mutant  to test view.
Observe multiple requests in the developer console.

Misc

Tested on Firefox and Edge (newest versions).
It appears that on page load two of the same requests are executed.
Also I noticed that this happens when the fragment gets updated (changed to gibberish: #bla123, does a request as well)

Solution
Only do the GET request once 👍.
potentially something in the Router:
https://github.com/stryker-mutator/stryker-dashboard/blob/472efcf03d22d349cd3bbf704d2b38001a5fb1ae/packages/website-frontend/src/app/app-router.module.ts#L17

Thanks @xandervedder, for this thorough report 💙
I think the issue is with the ReportPageComponent. It probably can be fixed with a simple distinctUntilChanged rxjs operator
https://github.com/stryker-mutator/stryker-dashboard/blob/472efcf03d22d349cd3bbf704d2b38001a5fb1ae/packages/website-frontend/src/app/report/report-page/report-page.component.ts#L62


custom dimensions are not working at all

Well I don’t receive any custom dimensions. The documentation from google tells me, that dimensions have to be send within a tacked pageView or to be set before the pageView is tracked. My guess ist hat the pageView gets send before the dimensions are set.
I see the commands for the dimens send to the _ga functions, but within chrome debugging I don't see them within the page view tracking. No request to google analytics contains the dimensions.

@Karpo72 can you provide links to the documentation you read? I would appreciate that so I can make sure I am reading the same thing you are and help resolve this.

@justinsa I just went to this documentation:
https://developers.google.com/analytics/devguides/collection/analyticsjs/custom-dims-mets

There are two ways to define this using angular-google-analytics and both of those are working in the library, but clearly you must have a scenario that isn't working.
The documentation for GA says that these custom dimensions have to be defined in the GA account before they can be sent. Just double checking that you have already done that?
Also, the rules for when custom dimensions are associated looks fairly specific: https://support.google.com/analytics/answer/2709828. You may want to double check that documentation to see if you are adhering to the requirements.
The GA documentation provides the following example:
// Set value for custom dimension at index 1.
ga('set', 'dimension1', 'easy');

// Send the custom dimension value with a pageview hit.
ga('send', 'pageview', '/level_1/');

But this just states that the first command, 'set', will be applied to the 'pageview' or 'event' command proceeding it.
The alternative method that you should consider is using the optional parameter for the trackPage call in angular-google-analytics, which removes this reliance of association and makes it explicit:
Analytics.trackPage('/video/detail/XXX', 'Video XXX', {dimension15: 'My Custom Dimension', metric18: 8000});

Analytics.trackEvent('video', 'play', 'django.mp4', 4, true, {dimension15: 'My Custom Dimension', metric18: 8000});

Tell me further about what you are seeing and how things are setup so we can try and figure out what is going wrong. Thanks.

@justinsa I will do another test, but I can confirm that I created the dimensions within the GA Account. I'm currently using the ga('set'...) method. Within debugger I see how the dimensions get set, but I don't see them within the GET Requests the script is executing. I set some of them on a very early state -> i.e. within the app.config. If i debug the module I can see that my dimension1 gets set, after that the pageview is called and than the other dimensions are set. I'll do a try with ignoreFirstPageLoad= true and track the first page manually. But I'm wondering that even the first dimension before the inital pageview isn't within the request to GA. Might it be that the set Command is not supposed to use multiple trackers? I couldn't find any information, if this command has also to use the tracker name.

@justinsa I couldn't find any offical description on google, But I found this discussion on stackoverflow with another topic:
http://stackoverflow.com/questions/23815965/universal-analytics-custom-dimensions-with-multiple-trackers-old-tracker-recor
Do you see the code of the guy? He also uses the set command with multiple trackers. I#ll do now a test and will disable one tracker, just tos see if the dimensions will be send

@justinsa @revolunet  I figgured out the solution. The reason on my site are the multiple tracker. I use the set method. I debuggt through the set function and executed the command manually from my console -> _ga('tracker.set', name, value); -> and now see that the dimension get's submitted to GA.
Final I can confirm in my case two problems:

Dimensions are not set in case of multiple trackers -> same implementation like on other commands is needed.
Because the pageView is triggered by route event the first pageView gets tracked before some dimensions are set

The request to GA should contain CD1 if Dimension1 is set

That makes sense. Thanks for figuring this out. I think we should take a different tact for this method as we need its current behaviors to be maintained and set is frequently a scenario that is specific to a tracker or the generic case. It doesn't make sense to have it support multi-tracker in the same way as the other methods.
The current method looks like this:
        this._set = function (name, value) {
          _analyticsJs(function () {
            _ga('set', name, value);
          });
        };

I propose we do the following:
        this._set = function (name, value, trackerName) {
          _analyticsJs(function () {
            _ga(getCommandName(trackerName, 'set'), name, value);
          });
        };

This will maintain backwards compatibility but require you to call the same set with different trackers that you want to set custom values for. Thoughts?

@justinsa @revolunet That should work.

@justinsa Did you implement the change for the send command (multiple tracker) already?

This is in as of yesterday. It was merged in with #100, but I forgot to mark the PR with this issue. I want to get offline mode in and then create a new release. The next release is not backwards compatible, so you are aware. The documentation provides guidance and I would appreciate feedback on it for how it can be improved.


Enhancement : Validations can be added

For example, empty input fields should not be allow, email validation and so on.

do you mean in the example form components?


"Masters Edition" listed twice against "MED" and "ME1" set codes

The set "Masters Edition" is listed twice in AllSets.json against "MED" and "ME1" set codes. According to Scryfall, "ME1" is the correct code for "Masters Edition" and "MED" should be used for "Mythic Edition". "Mythic Edition" appears to be missing altogether from AllSets.json.

https://api.scryfall.com/sets/ME1 shows Masters Edition
https://api.scryfall.com/sets/MED shows Masters Edition
This appears to be an upstream issue: cc @csuhta

@ZeldaZach This is fixed on Scryfall

Will require a rebuild, which will be done in 4.0.2

The page lists 4.0.2 as up already @ZeldaZach
Is that not the case yet?

Meant to say 4.0.3 **

Oh sure, kk 😄
Couldn't verify which one is up due to https://github.com/mtgjson/mtgjson4/issues/95#issuecomment-431285885.


Full path in window title option

I realized it would be really handy if the full path to the currently open file would be visible in the window title.
I couldn't figure out how to achieve this without modifying core.step(), hence this patch.
If it is possible to achieve this with a plugin instead, it would be interesting to see how, I am new to Lua and couldn't figure it out.
Also I didn't know how to format the code, i don't think the long line my hack did looks good, but wasn't sure what the best way to do it is.
I also tried formatting the path with, common.home_encode(), but figured I actually prefer it being expanded for my usecase, but maybe most people rather have it encoded. Perhaps, making the option a 3 state thing?
config.full_path_in_window_title = expanded | yes | no

hmm. It seems like it crashes when i open the log (clicking the icon in bottom left) and this is enabled...

Hi,
I like this proposition and I am ok to go with that. Just two things:

I don't like to have an option for that, just let's do it right away. It is important that we make choices and we leave to the user only the interesting options not the irrelevant details.
too much logic in the core.step, what about setting a variable in "core" like for "active_view" and just use it in the core.step ? In this way the logic will be moved elsewhere and core.step would be simpler.

yeah, I added the option, so that it wouldn't be a breaking feature, but I am all for less options. I didn't really think about it, but it is exactly this kind of stuff that makes editor configs such a pain to work with.
This immediateUI/fram refresh workflow is completely new to me, and I was worried that small tests like active_view could be problematic. Im not sure what you mean with setting active_view variable, but i moved DocView = require "core.docview" to core.init() instead.

Congratulation for your first contribution to lite-xl and thank you for your help!

Please have a look at this branch, I just modified your code to:

print the real full path of the file by using ~ for the HOME directory
show if the file has modifications with an asterisk

I think you should agree with these modifications but please have a look, I would like to have your advice.


Fix Label Only Notebook

Description
Fixes #1480
Type of change
Please check all relevant options.

[x] Improvement (non-breaking)
[ ] Bug fix (non-breaking)
[ ] New feature (non-breaking)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[x] This change requires a documentation update

Checklist

[x] My code follows the style guidelines of this project
[x] I have performed a self-review of my own code
[x] I have commented my code
[x] I have made corresponding changes to the documentation
[x] My changes generate no new warnings
[x] I have added tests that prove my fix is effective or that my feature works
[x] New and existing unit tests pass locally with my changes

Hi @chao1995 Thank you very much! I'll take a closer look for review soon.

Codecov Report

Merging #1653 (ade1c14) into dev_1.11.0 (697d745) will decrease coverage by 39.43%.
The diff coverage is n/a.

@@               Coverage Diff               @@
##           dev_1.11.0    #1653       +/-   ##
===============================================
- Coverage       88.09%   48.66%   -39.44%
===============================================
  Files             259      259
  Lines           21349    21349
  Branches         3789     3789
===============================================
- Hits            18807    10389     -8418
- Misses           1598    10426     +8828
+ Partials          944      534      -410

Impacted Files
Coverage Δ

art/attacks/evasion/carlini.py
7.59% <0.00%> (-87.07%)
:arrow_down:

...rt/defences/detector/poison/clustering_analyzer.py
8.22% <0.00%> (-86.71%)
:arrow_down:

art/attacks/evasion/pe_malware_attack.py
14.74% <0.00%> (-84.34%)
:arrow_down:

...ces/detector/evasion/subsetscanning/scanningops.py
11.59% <0.00%> (-84.06%)
:arrow_down:

art/attacks/evasion/wasserstein.py
11.94% <0.00%> (-83.28%)
:arrow_down:

art/attacks/evasion/elastic_net.py
17.88% <0.00%> (-81.46%)
:arrow_down:

art/defences/trainer/adversarial_trainer.py
11.50% <0.00%> (-80.54%)
:arrow_down:

...ient_descent/projected_gradient_descent_pytorch.py
16.66% <0.00%> (-80.31%)
:arrow_down:

art/attacks/evasion/deepfool.py
19.78% <0.00%> (-80.22%)
:arrow_down:

art/attacks/poisoning/gradient_matching_attack.py
8.64% <0.00%> (-80.08%)
:arrow_down:

... and 138 more

Hi @beat-buesser thank you very much for the review. I have used ART in my research and it really helps me a lot. Will definitely continue to contribute to ART whenever there is an opportunity. Thank you very much!


lnd not responding to stop comamnd

Background
The lnd demon does not obey the stop command.
Your environment

version of lnd 0.6.0-beta commit=v0.6.0-beta-116-g985902be2779a5dcc7ac1d5b3d7eb7929608816d

Expected behaviour
Before this commit i didn't have a problem.
Actual behaviour
The lnd demon does not obey the stop command.  By logs - the lnd works as if nothing had happened. In my estimation, this happens with about 50% servers.
It seems that the masking of signals has been added to the code and for a long time the code is under the influence of a signal mask. Is it possible?

I am now updating the server and this problem is massive. Sometimes I have to wait until 5-10 minutes until LND will be stopped.
It feels like lnd catches a signal, but postpones it or tries to complete connections or gossip connections and until everything finishes, it does not stop. Previously, he completed work within a few seconds after the stop command.

Even after sending multiple commands stop a lnd continues to execute commands gRPC (lncli)... It's stopping hell...

Servers where i updated to lnd v0.6.1-beta-rc1 (commit 7f08c09)
Things are even worse there. Now there 100% of demons do not obey the command stop.
You need to urgently do something!
I have only one way to stop it - to send the signal "9", but this may violate the consistency of the data...

After 10 minutes out of 8 demons only one stopped. Other ones work. But worst of all - they caught this command and will execute its maybe during 10 minutes or maybe in an hour. I have to sit and monitor when they deign to end. If I leave and they will finish - it will be very bad...

The bug is located between these commits: 2b43da42209..985902b
When i had version 2b43da42209 i didn't have problem.
The 985902b commit already had one.

I'm unable to reproduce this on any of my nodes. Can you provide a goroutine dump via the profiling feature when you attempt to stop any of the nodes?
In the future, when you update nodes, it would be wise to go with a canary-like upgrade procedure. So you'd update one or two nodes to see if everything went smoothly, or even keep one of them on master at all times, them update the rest once stability is attained for the canary deployment.

@LNBIG-COM after issuing the stop, what subsystems do you still see active in the logs? My hypothesis would be DISC, but if you could confirm/deny that would point us in a direction.

I experience the same problem. Updated to v0.6 today with an old node (had to catch up from 22nd Feb).
Rescanning blocks takes very long (about 10 sec/block), which would take me about 10 hours to complete so I wanted to stop lnd with "lncli stop".
Shutdown Request was announced (see log file) but my node keeps syncing.
I uploaded part of the log file ( check timestamp 2019-05-06 21:29:23.206)
Node is still syncing at time of writing this post (35 minutes later)
I am not familiar with a goroutine dump. Sorry.
Debug.txt

I'm unable to reproduce this on any of my nodes. Can you provide a goroutine dump via the profiling feature when you attempt to stop any of the nodes?

I do not know how to do that. Also, get me right - shutdown lasts for hours and I have no desire to experiment now.

In the future, when you update nodes, it would be wise to go with a canary-like upgrade procedure. So you'd update one or two nodes to see if everything went smoothly, or even keep one of them on master at all times, them update the rest once stability is attained for the canary deployment.

I usually do that. But such an error is difficult to detect. To do this, you need to update and stop at least once after launch.

after issuing the stop, what subsystems do you still see active in the logs? My hypothesis would be DISC, but if you could confirm/deny that would point us in a direction.

I will prepare one of the logs now

@LNBIG-COM I think we have identified the source of the issue, the fix should be in #3049. You're welcome to try out that PR and confirm that it fixes the reported issue
@Donno1994 That seems to be a separate issue, but indeed it has an easy fix. See #3050

https://drive.google.com/file/d/1vu-KU_jgOTpHA5SXR05cGQk0tpwpoMpP/view?usp=sharing
It's LND-19
This is truncated log - i trauncated it before update (i didn't know about this bug in that moment)
After upgrade (0.6.1-beta) i did stop command (many times, maybe 40-50 times for example by kill and lncli stop) to check this bug in new version (0.6.1-beta)
It could not be stopped maybe during 2-3 hours. This moment is last lines of log (finish stopping)

I think we have identified the source of the issue, the fix should be in #3049. You're welcome to try out that PR and confirm that it fixes the reported issue

Do i need to merge this PR with my local branch and to try, right?
I can do it right now with LND-19. It stopped right now so i can check it quickly

I did:
cd $GOPATH/src/github.com/lightningnetwork/lnd
git pull origin pull/3049/head
make && make install

After i started and waited of full starting. After i made stop - no problem
I did it twicely - now there is quickly stopping!

I already checked this fix (3049) already three times
Last time i waited 10-15 minutes after starting and than i stopped
Bug was fixed in this PR!

@LNBIG-COM glad to hear that resolved the issue :)

@LNBIG-COM I think we have identified the source of the issue, the fix should be in #3049. You're welcome to try out that PR and confirm that it fixes the reported issue
@Donno1994 That seems to be a separate issue, but indeed it has an easy fix. See #3050

thank you for the quick fix :)

I already checked this fix (3049) already three times
Last time i waited 10-15 minutes after starting and than i stopped
Bug was fixed in this PR!

@LNBIG-COM  You're welcome.


Randomness checks

Implement checks that the attack points and traces seem random enough (and in case of traces correlated between different splits).
Framework where it is easy to add other tests is needed. Preferably single pass over the data (parsing seems slow, but not measured yet).

Trace tests: It might be a good idea to be able to manualy inspect a small set of traces and report those that are most different for further inspection.

More advanced: https://en.wikipedia.org/wiki/Diehard_tests


Fixes rendering markdown in Fair/Show (but also everywhere else

This never worked, so now if anyone creates a new item in the markdown config a test will fail if they don't remember to do the ...default.
Fixes LD-214

Fails

:no_entry_sign:

🃏 FAIL in RegistrationResult-tests.tsx

renders registration pending properly

Snapshot has changed

Full message

Error: expect(value).toMatchSnapshot()
Received value does not match stored snapshot "Registration result component renders registration pending properly 1".

Snapshot

Received

@@ -131,14 +131,18 @@
<EMAIL_ADDRESS>
for
more information.

    <Text

      accessible={true}

      allowFontScaling={true}

      ellipsizeMode="tail"

    >

    </Text>
  </View>
</View>

   (/home/travis/build/artsy/emission/src/lib/Components/Bidding/Screens/__tests__/RegistrationResult-tests.tsx:18:23)
  at Object.asyncJestTest (/home/travis/build/artsy/emission/node_modules/jest-jasmine2/build/jasmine_async.js:108:37)
  at resolve (/home/travis/build/artsy/emission/node_modules/jest-jasmine2/build/queue_runner.js:56:12)
  at new Promise ()
  at mapper (/home/travis/build/artsy/emission/node_modules/jest-jasmine2/build/queue_runner.js:43:19)
  at promise.then (/home/travis/build/artsy/emission/node_modules/jest-jasmine2/build/queue_runner.js:87:41)

renders registration complete properly

Snapshot has changed

Full message

Error: expect(value).toMatchSnapshot()
Received value does not match stored snapshot "Registration result component renders registration complete properly 1".

Snapshot

Received

@@ -113,14 +113,18 @@
textAlign="center"
>
Thank you for registering. You’re now eligible
to bid on works in this sale.

    <Text

      accessible={true}

      allowFontScaling={true}

      ellipsizeMode="tail"

    >

    </Text>
  </View>
</View>

   (/home/travis/build/artsy/emission/src/lib/Components/Bidding/Screens/__tests__/RegistrationResult-tests.tsx:24:23)
  at Object.asyncJestTest (/home/travis/build/artsy/emission/node_modules/jest-jasmine2/build/jasmine_async.js:108:37)
  at resolve (/home/travis/build/artsy/emission/node_modules/jest-jasmine2/build/queue_runner.js:56:12)
  at new Promise ()
  at mapper (/home/travis/build/artsy/emission/node_modules/jest-jasmine2/build/queue_runner.js:43:19)
  at promise.then (/home/travis/build/artsy/emission/node_modules/jest-jasmine2/build/queue_runner.js:87:41)

renders registration error properly

Snapshot has changed

Full message

Error: expect(value).toMatchSnapshot()
Received value does not match stored snapshot "Registration result component renders registration error properly 1".

Snapshot

Received

@@ -130,14 +130,18 @@
<EMAIL_ADDRESS>
with any questions.

    <Text

      accessible={true}

      allowFontScaling={true}

      ellipsizeMode="tail"

    >

    </Text>
  </View>
</View>

   (/home/travis/build/artsy/emission/src/lib/Components/Bidding/Screens/__tests__/RegistrationResult-tests.tsx:30:23)
  at Object.asyncJestTest (/home/travis/build/artsy/emission/node_modules/jest-jasmine2/build/jasmine_async.js:108:37)
  at resolve (/home/travis/build/artsy/emission/node_modules/jest-jasmine2/build/queue_runner.js:56:12)
  at new Promise ()
  at mapper (/home/travis/build/artsy/emission/node_modules/jest-jasmine2/build/queue_runner.js:43:19)
  at promise.then (/home/travis/build/artsy/emission/node_modules/jest-jasmine2/build/queue_runner.js:87:41)

:no_entry_sign:

🃏 FAIL in Markdown-tests.tsx

renders multiple paragraphs as Text elements

Expected value to equal: 2, received: 4

Full message

Error: expect(received).toEqual(expected)
Expected value to equal:
2
Received:
4
at Object. (/home/travis/build/artsy/emission/src/lib/Components/tests/Markdown-tests.tsx:31:54)
at Object.asyncJestTest (/home/travis/build/artsy/emission/node_modules/jest-jasmine2/build/jasmine_async.js:108:37)
at resolve (/home/travis/build/artsy/emission/node_modules/jest-jasmine2/build/queue_runner.js:56:12)
at new Promise ()
at mapper (/home/travis/build/artsy/emission/node_modules/jest-jasmine2/build/queue_runner.js:43:19)
at promise.then (/home/travis/build/artsy/emission/node_modules/jest-jasmine2/build/queue_runner.js:87:41)

  Generated by :no_entry_sign: dangerJS


Add section - Designing efficient SVGs for smooth animation

Lately I noticed that IE doesn't like styles within svg so it needs to be exported with presentation attributes.

Also they need to avoid unnecessary grouping. I had a simple shape grouped 10 times and the size was 3Mb then I made it 6Kb by just ungrouping.


Debug section collapsing

While using the php-debug package I have encountered the following issue: after my debug session is completed, the debug section collapses.
The size of the available windows reduces slowly until it is collapsed to minimum and it is impossible to use it.
After restarting, the debug panel is back to normal, but it is really frustating to close and reopen the editor after each debugging session.
Could you help me solve this issue?

I also add that I am using the debug console on right side insthead of using the default bottom position.

I also have the same problem (also using the debug console on right side).

I ran into a similar issue with this but I keep mine at the bottom. However, if you go into your config  file, under "php-debug":
reset currentPanelHeight: "50px" or something other than zero. Each time you drag and resize the panel it changes the currentPanelHeight setting. Not sure but hope this helps.

I have not been able to reproduce this. Do can you provide your config?

Likely fixed as part of rewrite for v0.3.0


feat: Add windows support

Fixes #1131
Description
This change try to integrate with the latest EKS window support.
Add a new Windows AMI Family.
Windows relevant code, "kubernetes.io/os" and "vpc.amazonaws.com/PrivateIPv4Address" is only active when Windows AMI Family defined in the AwsNodeTemplate
Since there's no option to config Windows 2019/2022 and core/full parameters, two annotations, "karpenter.k8s.aws/windows-version" and "karpenter.k8s.aws/windows-variant", are used.
By default, it uses Windows 2019 Core AMI. Users can use amiSelector to choose other AMIs.
Test on a Linux and Windows mixed system for provision and de-provision.
How was this change tested?

Test on a live system with mixed Windows and Linux workload.
Both provision and de-provision are tested

Does this change impact docs?

[ ] Yes, PR includes docs updates
[ ] Yes, issue opened: #
[ ] No

New document is required after this change is approved.
Release Note

Add Windows support. A new Windows AMI Family is introduced.

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

Wow, thanks for writing this up. @jonathan-innis can you review?

@jonathan-innis @ellistarn
Please tell me if more tests are required.
Not sure what kind of tests to add.

@jonathan-innis @rawahars
I need your suggestion about these:

Is it OK to give four new Windows AMI Family names? If yes, shall we use the same long name as eksctl, like WindowsServer2019CoreContainer? Or shorter ones, like WindowsServer2019Core
Shall we use a single value of the node requirement "kubernetes.io/os" or two values that have both Linux and Windows? If we choose two values, how to handle the default node labels created by schedule? This change may break the test should apply labels to the node.
Is there a clear rule about the ec2 instances supported for Windows workload?

Thanks

Is it OK to give four new Windows AMI Family names

Our general feeling is that an AMIFamily should be centered around the userData that is used to startup the node and attach it to the cluster. An AMIFamily should be a grouping of AMIs that have effectively the same configuration. With that in mind, I think it would be preferable to have Windows be a single AMIFamily and we can differentiate the different versions using a different mechanism.
Musing: I wonder if we can do this through the windows build number that we know will get populated to the node when the node registers with the cluster. We can support different AMI SSM aliases and have them be compatible with different sets of node.kubernetes.io/windows-build requirements

Is there a clear rule about the ec2 instances supported for Windows workload

@rawahars Can you comment on this one?

Our general feeling is that an AMIFamily should be centered around the userData that is used to startup the node and attach it to the cluster. An AMIFamily should be a grouping of AMIs that have effectively the same configuration. With that in mind, I think it would be preferable to have Windows be a single AMIFamily and we can differentiate the different versions using a different mechanism.

It's reasonable but we need to first decide on the source of AMI.  There are two options

The AMI can be resolved by the AWSNodeTemplate. In this case, all parameters must be defined in this file. This can be implemented by multiple AMIFamilies, annotations, or new fields in AWSNodeTemplate
The AMI can be resolved by the AWSNodeTemplate and Provisioner together. User only defines a single AMI Family and declares the OS requirement in the provisioner. This needs to change both the code of provision and drifte.

All are doable, and please shed some light on this.

declares the OS requirement in the provisioner. This needs to change both the code of provision and drift.

I'd argue either the Provisioner or the workload is the best place. At a high-level, the philosophy behind the different components is:

Provisioner defines a "world of possibilities" at the Cluster Admin level for a group of workloads
Workload-based scheduling defines the "world of possibilities" at the App Dev level for single workloads. I think in general, most users are going to be nodeSelecting on a version of windows if their workloads only support a specific version of windows.

You can imagine a scenario where a version of Windows isn't defined in the Provisioner at all and its just defined at the workload level, which will be passed into the launched machine requirements and be used to select the correct Windows AMI version for that workload

Referencing the Upstream Kubernetes Windows User Guide for more info on the windows build version and windows best-practices

Referencing the Upstream Kubernetes Windows User Guide for more info on the windows build version and windows best-practices

I'm afraid I have no idea to implement the Windows build version without AWS EKS team support.
There's no enough information to resolve the matched AMI until AWS can provide more metadata on each AMI.
I notice that the new AMIFamily DefaultAMIs method returns multiple AMIs and each AMI output has its own requirements. https://github.com/aws/karpenter/blob/629859c790b8410b78d9b9c134b02fe02e32165f/pkg/providers/amifamily/resolver.go#L75
It's possible that a single Windows AMI Family returns all the Windows AMIs with 2019/2022, core/full as part of the requirements.
However, it still needs some code change around https://github.com/aws/karpenter/blob/629859c790b8410b78d9b9c134b02fe02e32165f/pkg/cloudprovider/cloudprovider.go#L224 and https://github.com/aws/karpenter/blob/629859c790b8410b78d9b9c134b02fe02e32165f/pkg/providers/amifamily/resolver.go#L122
@jonathan-innis Any idea?

@jonathan-innis Please check this new change.
It uses two ami families with core as default.

@topikachu Can you rebase the change? It looks like you have a few conflicts in a few files in the PR

@topikachu Wanted to update you here. Everything is passing on our E2Es 🎉 We're holding this change until our upcoming stable release but should take it shortly after. Nice work 🥇

I would like to extend my huge thanks to @topikachu ! Great work and diligence getting this all working and looking fantastic.
I've been eagerly awaiting windows support in karpenter myself to use as on-demand CI worker nodes. My existing Linux ones work great, it'll be fantastic to add windows jobs to my builds too!

Many thanks for adding this support, we've been following this closely.
I've used the following to install (here illustrative of the version used)
"helm upgrade --install karpenter oci://public.ecr.aws/karpenter/karpenter --version 'v0-c990a2d9fb10c1bfeffd5c6af64bf8575536d67e' --namespace karpenter --create-namespace "
This successfully added a windows node to the cluster on EKS version 1.24.
Be great if this pull request could be completed?

We will perform some additional testing from Windows perspective and we should be ready to merge very soon.
Also, there are a couple of enhancements which we will undertake as a fast followup to this PR-

Adding support for automatically plumbing ServiceCIDR which sets up the required networking configuration for service endpoints
Allowing merge of custom user data with the required user data. Ref: https://karpenter.sh/preview/concepts/node-templates/#specuserdata
Add support for ExcludedSnatCIDRs which disables SNAT for certain CIDRs. Ref: https://docs.aws.amazon.com/eks/latest/userguide/eks-optimized-windows-ami.html#bootstrap-script-configuration-parameters

About ServiceCIDR and ExcludedSnatCIDRs, how user defines these two parameters? In the node template?
About userdata, I have no idea how to merge windows power shell script. As I tested, Windows node doesnt support multiple scripts in userdata.

@topikachu ServiceCIDR and ExcludedSnatCIDRs parameters are passed on to the bootstrap script. Reference: https://docs.aws.amazon.com/eks/latest/userguide/eks-optimized-windows-ami.html#bootstrap-script-configuration-parameters
ServiceCIDR can be fetched using DescribeCluster call. As discussed earlier in this PR, that would need changes in Core as well. ExcludedSnatCIDRs is passed manually by the customers. We will make changes to ensure that we can set it via Karpenter as well.
Userdata merge can possibly happen when we generate the script i.e. between <poweshell> </powershell>. We can take raw string as user input and prefix it to the generated script.

Apologies for chasing but do we have an ETA on when this is an official release please? We're keen to get this into our non production EKS world where we have quite a lot of windows workloads.
Thanks again for implementing this.

@cudders We are really close to wrapping this up. Optimistically, we should be done with our internal processes/testing in the next couple of weeks.

@cudders We are really close to wrapping this up. Optimistically, we should be done with our internal processes/testing in the next couple of weeks.

Brilliant - thanks

E2Es are passing
:white_check_mark: ipv6-pr-3698-bwwq7 tests passed
:white_check_mark: drift-pr-3698-k7q8q tests passed
:white_check_mark: utilization-pr-3698-bzmq9 tests passed
:white_check_mark: interruption-pr-3698-mxg2x tests passed
:white_check_mark: chaos-pr-3698-ndqkd tests passed
:white_check_mark: consolidation-pr-3698-cw7vc tests passed
:white_check_mark: upgrade-pr-3698-n4scb tests passed
:white_check_mark: integration-pr-3698-986mc tests passed

Thank you for accepting my code change. I'm excited that the addition of Windows support to Karpeneter will benefit all users.
If there are any further modifications needed, please let me know. I'm eager to contribute more to the Karpeneter project and assist in any way I can.
Thanks again for the opportunity.


feature suggestion: possibility to have a command to reload AutoGpt with a new ai-settings.yml ?

Love this work! Thank you!
I think it would be very useful to have the bot be able to change the central goals of the autoGPT instance.
I have an instance running on a server, and having telegram access is really nice to have when I'm out of the house and something may come to mind to have AutoGPT work on and come home to freshly baked completed tasks.
I'm not sure how this would be achieved with AutoGPT in int's current form, but I expect a lot of architecture changes are in the pipeline.

Hello,
This is already in work


Let ASSERT output messages?

https://github.com/PacktPublishing/The-Modern-Vulkan-Cookbook/blob/main/source/vulkancore/Utility.hpp#L11
void(message);
Thanks.

yes, good idea..


1.0.23: build withBUILD_TESTS=ON and no ctest units found

Looks like something is wrong with test suite.
cmake configuration
[tkloczko@devel-g2v x86_64-redhat-linux-gnu]$ cmake -L
CMake Warning:
  No source or binary directory provided.  Both will be assumed to be the
  same as the current working directory, but note that this warning will
  become a fatal error in future CMake releases.

CMake Error: The source directory "/home/tkloczko/rpmbuild/BUILD/OpenXR-SDK-Source-release-1.0.23/x86_64-redhat-linux-gnu" does not appear to contain CMakeLists.txt.
Specify --help for usage, or press the help button on the CMake GUI.
-- Cache values
BASH_COMMAND:FILEPATH=/usr/bin/bash
BUILD_ALL_EXTENSIONS:BOOL=ON
BUILD_API_LAYERS:BOOL=ON
BUILD_FORCE_GENERATION:BOOL=OFF
BUILD_LOADER:BOOL=ON
BUILD_LOADER_WITH_EXCEPTION_HANDLING:BOOL=ON
BUILD_SPECIFICATION:BOOL=OFF
BUILD_TESTS:BOOL=ON
BUILD_WITH_STD_FILESYSTEM:BOOL=OFF
BUILD_WITH_SYSTEM_JSONCPP:BOOL=ON
BUILD_WITH_WAYLAND_HEADERS:BOOL=ON
BUILD_WITH_XCB_HEADERS:BOOL=ON
BUILD_WITH_XLIB_HEADERS:BOOL=ON
CMAKE_BUILD_TYPE:STRING=RelWithDebInfo
CMAKE_INSTALL_PREFIX:PATH=/usr
DYNAMIC_LOADER:BOOL=ON
FALLBACK_CONFIG_DIRS:STRING=/etc/xdg
FALLBACK_DATA_DIRS:STRING=/usr/local/share:/usr/share
GLSLANG_VALIDATOR:FILEPATH=/usr/bin/glslangValidator
GLSL_COMPILER:FILEPATH=/usr/bin/glslc
OPENXR_DEBUG_POSTFIX:STRING=
PRESENTATION_BACKEND:STRING=xlib

And with those settings:
[tkloczko@devel-g2v x86_64-redhat-linux-gnu]$ ctest -vv
Test project /home/tkloczko/rpmbuild/BUILD/OpenXR-SDK-Source-release-1.0.23/x86_64-redhat-linux-gnu
No tests were found!!!

There is no test suite? 🤔

There is not much of a test suite but there is some. It looks like maybe you're from the wrong directory? You can look at the logs from the built in CI on azure pipelines to see what we verified. Additionally our internal CI does run the test suite on Linux.

As you see I'm calling it from directoty created by cmake in which cmake -L works.
Exactly the same way I'm using in +370 packages in which I'm using exactly the same rpm macro
[tkloczko@devel-g2v SPECS]$ grep ^%ctest * | wc -l
379

Just checked https://github.com/KhronosGroup/OpenXR-SDK-Source/tree/main/.github/workflows and I don't see any traces of cmake test suite execution  (by executing ctest or make test)
Can you show me where is your result of ctest -vv? 🤔

ah, so in our internal CI we're manually running the tests. However, the Debian package runs the tests as part of the normal process, I think. I could have sworn I had the tests added for ctest... Looking into it.

OK, looks like we don't actually have the add_test calls to enable ctest: there are tests but not wired up that way.

Fixed in 1.0.30.


Regex with Java boundary matchers is shown as vulenerable

What is the problem?
Regex with Java boundary matchers is shown as vulenerable.
Example regex: \A[^?]*\z
Here \A and \z are boundary matchers indicating start and end of input.
But redos checker shows it as vulnerable.

Currently, \A and \z are not supported.

@makenowjust Is it feasible to add support for it?

WIP #378.


Make charts colorful again

Make charts colorful again
Plug in "autocolors" seems to be a good solution.

https://github.com/kurkle/chartjs-plugin-autocolors


SortableElement's children components are mixing their states after swapping

So I have created a sortable list with each of it's items containing a toggle button, each toggle buttons is a component that has it own state either "on"/"off".
There's this weird behaviour that is happening after swapping, as shown below

It seems like SortableElement's children (toggle buttons) are getting their states mixed or something after swapping.
I've recreated the weird behaviour on this sandbox: https://codesandbox.io/s/react-sortable-hub-bug-gtxp3

You're not using a stable key prop for your sortable items. See https://reactjs.org/docs/lists-and-keys.html
Fixed sandbox:
https://codesandbox.io/s/react-sortable-hub-bug-izc06
The only code change I made was using value instead of index for the key of SortableItem
<SortableItem key={`item-${value}`}

Perfect, that did solved the issue for me :smiley::thumbsup:
Thank you very much for the fast reply :pray: I've also noticed that you've updated/fixed all code examples that had the issue and I really appreciate that :v:


navi: 2.14.0 -> 2.15.0

Automatic update generated by nixpkgs-update tools. This update was made based on information from https://github.com/denisidoro/navi/releases.
meta.description for navi is: "An interactive cheatsheet tool for the command-line and application launchers"
meta.homepage for navi is: "https://github.com/denisidoro/navi"
meta.changelog for navi is: ""
Updates performed

Rust version update

To inspect upstream changes

Release on GitHub

Compare changes on GitHub

Impact

Checks done (click to expand)

built on NixOS

The tests defined in passthru.tests, if any, passed

/nix/store/wmkxsf3kwmw3glssr8czmjf9l4qcqjby-navi-2.15.0/bin/navi passed the binary check.

/nix/store/wmkxsf3kwmw3glssr8czmjf9l4qcqjby-navi-2.15.0/bin/.navi-wrapped passed the binary check.

2 of 2 passed binary check by having a zero exit code.

2 of 2 passed binary check by having the new version present in output.

found 2.15.0 with grep in /nix/store/wmkxsf3kwmw3glssr8czmjf9l4qcqjby-navi-2.15.0

found 2.15.0 in filename of file in /nix/store/wmkxsf3kwmw3glssr8czmjf9l4qcqjby-navi-2.15.0

directory tree listing: https://gist.github.com/a407cb3b53f674e70b7be8391cc823b4

du listing: https://gist.github.com/1494cb8c2a3a20419e24f620cde56ea2

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

4 total rebuild path(s)

1 package rebuild(s)

1 x86_64-linux rebuild(s)
1 i686-linux rebuild(s)
1 x86_64-darwin rebuild(s)
1 aarch64-linux rebuild(s)

First fifty rebuilds by attrpath
navi

Instructions to test this update (click to expand)

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

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

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

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

1 package built:

navi

Maintainer pings
cc @cust0dian for testing.

@ofborg eval

Looks like Darwin build got broken:
Result of nixpkgs-review pr 119056 run on x86_64-darwin 1

1 package failed to build:

navi

due to:
       >   = note: ld: library not found for -liconv
       >           clang-7: error: linker command failed with exit code 1 (use -v to see invocation)

@ryantm would it be possible to include a commit that adds iconv to build inputs in this PR for Darwin or should I submit it separately?
With that commit, I can build and run navi as expected:
Result of nixpkgs-review run on x86_64-darwin 1

1 package built:

navi

would it be possible to include a commit that adds iconv to build inputs for Darwin in this PR or should I submit it separately?

Just create a PR which includes the commit from this PR.


Verify analyzer target directory exists

The analyzer will generate empty results if you ask it to analyze a directory that does not exist.
This code throws an exception.

Added a legend to the D2 diagrams while I'm in there.  This violates any _one change per PR policy :-( _

LGTM, thanks a lot!


Pipfile line endings changed after install

When a package is installed pipenv rewrites the Pipfile but doesn't retain line endings.  This test is in Linux but I noticed it first in Windows.  We keep lines with LF in Git but Pipenv changed it to CRLF.  I would think that matching existing line endings and using native for a new file would be proper, but for me it'd be fine to just always use LF.
Setup
altendky@lt:~$ mkdir test
altendky@lt:~$ cd test
altendky@lt:~/test$ git clone https://github.com/pypa/pipenv
Cloning into 'pipenv'...
remote: Counting objects: 17527, done.
remote: Compressing objects: 100% (55/55), done.
remote: Total 17527 (delta 29), reused 41 (delta 17), pack-reused 17455
Receiving objects: 100% (17527/17527), 173.94 MiB | 10.61 MiB/s, done.
Resolving deltas: 100% (11868/11868), done.
altendky@lt:~/test$ git -C pipenv rev-parse HEAD
9ecaf85f1b38841033bf969fb095d65023f86545
altendky@lt:~/test$ python3.6 -m venv venv
altendky@lt:~/test$ venv/bin/pip install -e pipenv
Obtaining file:///home/altendky/test/pipenv
  Ignoring pathlib2: markers 'python_version < "3.4"' don't match your environment
  Ignoring requests: markers 'python_version < "3.0"' don't match your environment
  Ignoring ordereddict: markers 'python_version < "3.0"' don't match your environment
Requirement already satisfied: pip>=9.0.1 in ./venv/lib/python3.6/site-packages (from pipenv==11.10.1.dev5)
Collecting certifi (from pipenv==11.10.1.dev5)
  Using cached https://files.pythonhosted.org/packages/7c/e6/92ad559b7192d846975fc916b65f667c7b8c3a32bea7372340bfe9a15fa5/certifi-2018.4.16-py2.py3-none-any.whl
Collecting setuptools>=36.2.1 (from pipenv==11.10.1.dev5)
  Using cached https://files.pythonhosted.org/packages/20/d7/04a0b689d3035143e2ff288f4b9ee4bf6ed80585cc121c90bfd85a1a8c2e/setuptools-39.0.1-py2.py3-none-any.whl
Collecting virtualenv-clone>=0.2.5 (from pipenv==11.10.1.dev5)
  Using cached https://files.pythonhosted.org/packages/6d/c2/dccb5ccf599e0c5d1eea6acbd058af7a71384f9740179db67a9182a24798/virtualenv_clone-0.3.0-py2.py3-none-any.whl
Collecting virtualenv (from pipenv==11.10.1.dev5)
  Using cached https://files.pythonhosted.org/packages/ed/ea/e20b5cbebf45d3096e8138ab74eda139595d827677f38e9dd543e6015bdf/virtualenv-15.2.0-py2.py3-none-any.whl
Installing collected packages: certifi, setuptools, virtualenv-clone, virtualenv, pipenv
  Found existing installation: setuptools 28.8.0
    Uninstalling setuptools-28.8.0:
      Successfully uninstalled setuptools-28.8.0
  Running setup.py develop for pipenv
Successfully installed certifi-2018.4.16 pipenv setuptools-39.0.1 virtualenv-15.2.0 virtualenv-clone-0.3.0
You are using pip version 9.0.1, however version 10.0.1 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.
altendky@lt:~/test$ pipenv install requests
Creating a virtualenv for this project…
Using /home/altendky/venvs/pipenv/bin/python3.6 (3.6.3) to create virtualenv…
⠋Already using interpreter /home/altendky/venvs/pipenv/bin/python3.6
Using base prefix '/home/altendky/.pyenv/versions/3.6.3'
New python executable in /home/altendky/.local/share/virtualenvs/test-DF-RHnfU/bin/python3.6
Also creating executable in /home/altendky/.local/share/virtualenvs/test-DF-RHnfU/bin/python
Installing setuptools, pip, wheel...done.

Virtualenv location: /home/altendky/.local/share/virtualenvs/test-DF-RHnfU
Creating a Pipfile for this project…
Installing requests…
Looking in indexes: https://pypi.python.org/simple
Collecting requests
  Using cached https://files.pythonhosted.org/packages/49/df/50aa1999ab9bde74656c2919d9c0c085fd2b3775fd3eca826012bef76d8c/requests-2.18.4-py2.py3-none-any.whl
Collecting certifi>=2017.4.17 (from requests)
  Using cached https://files.pythonhosted.org/packages/7c/e6/92ad559b7192d846975fc916b65f667c7b8c3a32bea7372340bfe9a15fa5/certifi-2018.4.16-py2.py3-none-any.whl
Collecting chardet<3.1.0,>=3.0.2 (from requests)
  Using cached https://files.pythonhosted.org/packages/bc/a9/01ffebfb562e4274b6487b4bb1ddec7ca55ec7510b22e4c51f14098443b8/chardet-3.0.4-py2.py3-none-any.whl
Collecting idna<2.7,>=2.5 (from requests)
  Using cached https://files.pythonhosted.org/packages/27/cc/6dd9a3869f15c2edfab863b992838277279ce92663d334df9ecf5106f5c6/idna-2.6-py2.py3-none-any.whl
Collecting urllib3<1.23,>=1.21.1 (from requests)
  Using cached https://files.pythonhosted.org/packages/63/cb/6965947c13a94236f6d4b8223e21beb4d576dc72e8130bd7880f600839b8/urllib3-1.22-py2.py3-none-any.whl
Installing collected packages: certifi, chardet, idna, urllib3, requests
Successfully installed certifi-2018.4.16 chardet-3.0.4 idna-2.6 requests-2.18.4 urllib3-1.22

Adding requests to Pipfile's [packages]…
Pipfile.lock not found, creating…
Locking [dev-packages] dependencies…
Locking [packages] dependencies…
Updated Pipfile.lock (7b8df8)!
Installing dependencies from Pipfile.lock (7b8df8)…
  🐍   ▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉ 5/5 — 00:00:01
To activate this project's virtualenv, run the following:
 $ pipenv shell
altendky@lt:~/test$ pipenv --rm
Removing virtualenv (/home/altendky/.local/share/virtualenvs/test-DF-RHnfU)…
altendky@lt:~/test$ cd ..
altendky@lt:~$ rm -rf test
altendky@lt:~$ mkdir test
altendky@lt:~$ cd test
altendky@lt:~/test$ git clone https://github.com/pypa/pipenv
Cloning into 'pipenv'...
remote: Counting objects: 17527, done.
remote: Compressing objects: 100% (55/55), done.
remote: Total 17527 (delta 29), reused 41 (delta 17), pack-reused 17455
Receiving objects: 100% (17527/17527), 173.94 MiB | 10.56 MiB/s, done.
Resolving deltas: 100% (11868/11868), done.
altendky@lt:~/test$ git -C pipenv rev-parse HEAD
9ecaf85f1b38841033bf969fb095d65023f86545
altendky@lt:~/test$ python3.6 -m venv venv
altendky@lt:~/test$ venv/bin/pip install -e pipenv
Obtaining file:///home/altendky/test/pipenv
  Ignoring pathlib2: markers 'python_version < "3.4"' don't match your environment
  Ignoring requests: markers 'python_version < "3.0"' don't match your environment
  Ignoring ordereddict: markers 'python_version < "3.0"' don't match your environment
Requirement already satisfied: pip>=9.0.1 in ./venv/lib/python3.6/site-packages (from pipenv==11.10.1.dev5)
Collecting certifi (from pipenv==11.10.1.dev5)
  Using cached https://files.pythonhosted.org/packages/7c/e6/92ad559b7192d846975fc916b65f667c7b8c3a32bea7372340bfe9a15fa5/certifi-2018.4.16-py2.py3-none-any.whl
Collecting setuptools>=36.2.1 (from pipenv==11.10.1.dev5)
  Using cached https://files.pythonhosted.org/packages/20/d7/04a0b689d3035143e2ff288f4b9ee4bf6ed80585cc121c90bfd85a1a8c2e/setuptools-39.0.1-py2.py3-none-any.whl
Collecting virtualenv-clone>=0.2.5 (from pipenv==11.10.1.dev5)
  Using cached https://files.pythonhosted.org/packages/6d/c2/dccb5ccf599e0c5d1eea6acbd058af7a71384f9740179db67a9182a24798/virtualenv_clone-0.3.0-py2.py3-none-any.whl
Collecting virtualenv (from pipenv==11.10.1.dev5)
  Using cached https://files.pythonhosted.org/packages/ed/ea/e20b5cbebf45d3096e8138ab74eda139595d827677f38e9dd543e6015bdf/virtualenv-15.2.0-py2.py3-none-any.whl
Installing collected packages: certifi, setuptools, virtualenv-clone, virtualenv, pipenv
  Found existing installation: setuptools 28.8.0
    Uninstalling setuptools-28.8.0:
      Successfully uninstalled setuptools-28.8.0
  Running setup.py develop for pipenv
Successfully installed certifi-2018.4.16 pipenv setuptools-39.0.1 virtualenv-15.2.0 virtualenv-clone-0.3.0
You are using pip version 9.0.1, however version 10.0.1 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.
altendky@lt:~/test$ venv/bin/pipenv install requests
Creating a virtualenv for this project…
Using /home/altendky/test/venv/bin/python3.6 (3.6.3) to create virtualenv…
⠋Already using interpreter /home/altendky/test/venv/bin/python3.6
Using base prefix '/home/altendky/.pyenv/versions/3.6.3'
New python executable in /home/altendky/.local/share/virtualenvs/test-DF-RHnfU/bin/python3.6
Also creating executable in /home/altendky/.local/share/virtualenvs/test-DF-RHnfU/bin/python
Installing setuptools, pip, wheel...done.

Virtualenv location: /home/altendky/.local/share/virtualenvs/test-DF-RHnfU
Creating a Pipfile for this project…
Installing requests…
Looking in indexes: https://pypi.python.org/simple
Collecting requests
  Using cached https://files.pythonhosted.org/packages/49/df/50aa1999ab9bde74656c2919d9c0c085fd2b3775fd3eca826012bef76d8c/requests-2.18.4-py2.py3-none-any.whl
Collecting chardet<3.1.0,>=3.0.2 (from requests)
  Using cached https://files.pythonhosted.org/packages/bc/a9/01ffebfb562e4274b6487b4bb1ddec7ca55ec7510b22e4c51f14098443b8/chardet-3.0.4-py2.py3-none-any.whl
Collecting urllib3<1.23,>=1.21.1 (from requests)
  Using cached https://files.pythonhosted.org/packages/63/cb/6965947c13a94236f6d4b8223e21beb4d576dc72e8130bd7880f600839b8/urllib3-1.22-py2.py3-none-any.whl
Collecting idna<2.7,>=2.5 (from requests)
  Using cached https://files.pythonhosted.org/packages/27/cc/6dd9a3869f15c2edfab863b992838277279ce92663d334df9ecf5106f5c6/idna-2.6-py2.py3-none-any.whl
Collecting certifi>=2017.4.17 (from requests)
  Using cached https://files.pythonhosted.org/packages/7c/e6/92ad559b7192d846975fc916b65f667c7b8c3a32bea7372340bfe9a15fa5/certifi-2018.4.16-py2.py3-none-any.whl
Installing collected packages: chardet, urllib3, idna, certifi, requests
Successfully installed certifi-2018.4.16 chardet-3.0.4 idna-2.6 requests-2.18.4 urllib3-1.22

Adding requests to Pipfile's [packages]…
Pipfile.lock not found, creating…
Locking [dev-packages] dependencies…
Locking [packages] dependencies…
Updated Pipfile.lock (7b8df8)!
Installing dependencies from Pipfile.lock (7b8df8)…
  🐍   ▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉ 5/5 — 00:00:01
To activate this project's virtualenv, run the following:
 $ pipenv shell
altendky@lt:~/test$ cat -A Pipfile
[[source]]$
url = "https://pypi.python.org/simple"$
verify_ssl = true$
name = "pypi"$
$
[packages]$
requests = "*"$
$
[dev-packages]$
$
[requires]$
python_version = "3.6"$
altendky@lt:~/test$ unix2dos Pipfile
unix2dos: converting file Pipfile to DOS format...
altendky@lt:~/test$ cat -A Pipfile
[[source]]^M$
url = "https://pypi.python.org/simple"^M$
verify_ssl = true^M$
name = "pypi"^M$
^M$
[packages]^M$
requests = "*"^M$
^M$
[dev-packages]^M$
^M$
[requires]^M$
python_version = "3.6"^M$
altendky@lt:~/test$ venv/bin/pipenv install
Installing dependencies from Pipfile.lock (7b8df8)…
  🐍   ▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉ 5/5 — 00:00:01
To activate this project's virtualenv, run the following:
 $ pipenv shell

altendky@lt:~/test$ cat -A Pipfile
[[source]]^M$
url = "https://pypi.python.org/simple"^M$
verify_ssl = true^M$
name = "pypi"^M$
^M$
[packages]^M$
requests = "*"^M$
^M$
[dev-packages]^M$
^M$
[requires]^M$
python_version = "3.6"^M$
altendky@lt:~/test$ venv/bin/pipenv install virtualenv
Installing virtualenv…
Looking in indexes: https://pypi.python.org/simple
Collecting virtualenv
  Using cached https://files.pythonhosted.org/packages/ed/ea/e20b5cbebf45d3096e8138ab74eda139595d827677f38e9dd543e6015bdf/virtualenv-15.2.0-py2.py3-none-any.whl
Installing collected packages: virtualenv
Successfully installed virtualenv-15.2.0

Adding virtualenv to Pipfile's [packages]…
Pipfile.lock (7b8df8) out of date, updating to (38e343)…
Locking [dev-packages] dependencies…
Locking [packages] dependencies…
Updated Pipfile.lock (38e343)!
Installing dependencies from Pipfile.lock (38e343)…
  🐍   ▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉ 6/6 — 00:00:01
To activate this project's virtualenv, run the following:
 $ pipenv shell
altendky@lt:~/test$ cat -A Pipfile
[[source]]$
url = "https://pypi.python.org/simple"$
verify_ssl = true$
name = "pypi"$
$
[packages]$
requests = "*"$
virtualenv = "*"$
$
[dev-packages]$
$
[requires]$
python_version = "3.6"$
altendky@lt:~/test$ venv/bin/python -m pipenv.help

$ python -m pipenv.help output
Pipenv version: '11.10.1.dev5'
Pipenv location: '/home/altendky/test/pipenv/pipenv'
Python location: '/home/altendky/test/venv/bin/python'
Other Python installations in PATH:

2.6: /home/altendky/.pyenv/shims/python2.6

2.6: /home/altendky/.pyenv/shims/python2.6

2.7: /home/altendky/.pyenv/shims/python2.7

2.7: /home/altendky/.pyenv/shims/python2.7

2.7: /usr/bin/python2.7

3.4: /home/altendky/.pyenv/shims/python3.4m

3.4: /home/altendky/.pyenv/shims/python3.4

3.5: /home/altendky/.pyenv/shims/python3.5m

3.5: /home/altendky/.pyenv/shims/python3.5

3.5: /usr/bin/python3.5

3.6: /home/altendky/.pyenv/shims/python3.6m

3.6: /home/altendky/.pyenv/shims/python3.6

3.7: /home/altendky/.pyenv/shims/python3.7m

3.7: /home/altendky/.pyenv/shims/python3.7

3.6.3: /home/altendky/.pyenv/shims/python

2.7.13: /usr/bin/python

2.7.14: /home/altendky/.pyenv/shims/python2

2.7.13: /usr/bin/python2

3.6.3: /home/altendky/.pyenv/shims/python3

3.5.3: /usr/bin/python3

PEP 508 Information:
{'implementation_name': 'cpython',
 'implementation_version': '3.6.3',
 'os_name': 'posix',
 'platform_machine': 'x86_64',
 'platform_python_implementation': 'CPython',
 'platform_release': '4.9.0-6-amd64',
 'platform_system': 'Linux',
 'platform_version': '#1 SMP Debian 4.9.82-1+deb9u3 (2018-03-02)',
 'python_full_version': '3.6.3',
 'python_version': '3.6',
 'sys_platform': 'linux'}

System environment variables:

GS_LIB
KDE_FULL_SESSION
LS_COLORS
LANG
PROFILEHOME
DISPLAY
PYENV_ROOT
SHELL_SESSION_ID
EDITOR
COLORTERM
XDG_VTNR
PAM_KWALLET5_LOGIN
SSH_AUTH_SOCK
XDG_SESSION_ID
USER
DESKTOP_SESSION
PWD
HOME
SSH_AGENT_PID
QT_ACCESSIBILITY
XDG_SESSION_TYPE
XDG_DATA_DIRS
KONSOLE_DBUS_SESSION
XDG_SESSION_DESKTOP
KONSOLE_DBUS_WINDOW
GTK_MODULES
TERM
SHELL
KONSOLE_DBUS_SERVICE
XDG_SESSION_CLASS
XDG_SEAT_PATH
XCURSOR_THEME
XDG_CURRENT_DESKTOP
GPG_AGENT_INFO
QT_LINUX_ACCESSIBILITY_ALWAYS_ON
KONSOLE_PROFILE_NAME
XDG_SEAT
SHLVL
COLORFGBG
LANGUAGE
WINDOWID
LOGNAME
DBUS_SESSION_BUS_ADDRESS
XDG_RUNTIME_DIR
XAUTHORITY
XDG_SESSION_PATH
QT_AUTO_SCREEN_SCALE_FACTOR
PATH
KDE_SESSION_UID
KDE_SESSION_VERSION
KDED_STARTED_BY_KDEINIT
SESSION_MANAGER
_
OLDPWD
PYTHONDONTWRITEBYTECODE
PIP_PYTHON_PATH

Pipenv–specific environment variables:
Debug–specific environment variables:

PATH: /home/altendky/.pyenv/bin:/home/altendky/venvs/bin:/home/altendky/.pyenv/bin:/home/altendky/.pyenv/shims:/epc/bin:/home/altendky/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games:/epc/bin
SHELL: /usr/bin/fish
EDITOR: vi
LANG: en_US.UTF-8
PWD: /home/altendky/test

Contents of Pipfile ('/home/altendky/test/Pipfile'):
[[source]]
url = "https://pypi.python.org/simple"
verify_ssl = true
name = "pypi"

[packages]
requests = "*"
virtualenv = "*"

[dev-packages]

[requires]
python_version = "3.6"

Contents of Pipfile.lock ('/home/altendky/test/Pipfile.lock'):
{
    "_meta": {
        "hash": {
            "sha256": "3321861b6feeee3b67b8a5a014b306bd9789027dd9c8c41f35f4163e6d38e343"
        },
        "pipfile-spec": 6,
        "requires": {
            "python_version": "3.6"
        },
        "sources": [
            {
                "name": "pypi",
                "url": "https://pypi.python.org/simple",
                "verify_ssl": true
            }
        ]
    },
    "default": {
        "certifi": {
            "hashes": [
                "sha256:13e698f54293db9f89122b0581843a782ad0934a4fe0172d2a980ba77fc61bb7",
                "sha256:9fa520c1bacfb634fa7af20a76bcbd3d5fb390481724c597da32c719a7dca4b0"
            ],
            "version": "==2018.4.16"
        },
        "chardet": {
            "hashes": [
                "sha256:84ab92ed1c4d4f16916e05906b6b75a6c0fb5db821cc65e70cbd64a3e2a5eaae",
                "sha256:fc323ffcaeaed0e0a02bf4d117757b98aed530d9ed4531e3e15460124c106691"
            ],
            "version": "==3.0.4"
        },
        "idna": {
            "hashes": [
                "sha256:2c6a5de3089009e3da7c5dde64a141dbc8551d5b7f6cf4ed7c2568d0cc520a8f",
                "sha256:8c7309c718f94b3a625cb648ace320157ad16ff131ae0af362c9f21b80ef6ec4"
            ],
            "version": "==2.6"
        },
        "requests": {
            "hashes": [
                "sha256:6a1b267aa90cac58ac3a765d067950e7dbbf75b1da07e895d1f594193a40a38b",
                "sha256:9c443e7324ba5b85070c4a818ade28bfabedf16ea10206da1132edaa6dda237e"
            ],
            "index": "pypi",
            "version": "==2.18.4"
        },
        "urllib3": {
            "hashes": [
                "sha256:06330f386d6e4b195fbfc736b297f58c5a892e4440e54d294d7004e3a9bbea1b",
                "sha256:cc44da8e1145637334317feebd728bd869a35285b93cbb4cca2577da7e62db4f"
            ],
            "version": "==1.22"
        },
        "virtualenv": {
            "hashes": [
                "sha256:1d7e241b431e7afce47e77f8843a276f652699d1fa4f93b9d8ce0076fd7b0b54",
                "sha256:e8e05d4714a1c51a2f5921e62f547fcb0f713ebbe959e0a7f585cc8bef71d11f"
            ],
            "index": "pypi",
            "version": "==15.2.0"
        }
    },
    "develop": {}
}

It just uses your normal system line endings I believe. We could detect what is in the file I suppose

I mentioned this is #1847. I think the most pratical solution would be to always save in LF, even on Windows. This is doable with io.open(..., newline='\n') (even on Python 2), which we should use if we want to ensure the same file behaviour across Python 2 and 3.
@altendky I would love some input from Windows users on this. Is it common for Python developers on Windows to use LF as line ending, or is CRLF the way to go?

@uranusjr, I'm a Linux dev forced to deploy to Windows...  So...  That's why I'm fine with LF.  I won't try to speak for others though.
I certainly are about supporting 2/3.  It looked like getting line endings after reading the file was possible (documented in 2, maybe still there in 3?) In which case it's be easy to match as long as they all agree.  I think...

I develop on windows and linux and I have literally no clue what line endings I use, which I assume means I'm mostly using LFs, but I hide whitespace changes most of the time when git makes corrections.  I'm fine with generating things using linefeeds, but that will definitely create more issues like this one

I did a little research on how other package managers do this, and it seems the most popular way to approach this is

Use LF when generating the initial files
Try to preserve existing line endings when writing back to an existing file (best-effort, defaults to LF)

The second seems quite reasonable, but the first may require some thought. Pipenv currently uses the platform’s default line ending, but it could be more desirable to always use LF, to make both initialisation and locking results more predictable for cross-platform projects. Fortunately this probably won’t affect anything other than source control (and cosmetics) since the lockfile hash is computed separately from the actual file content.


Remove iron-icons dependency and import

Can we please remove iron-icons dependency and its import in the element? As the doc says, the application should define those needed in their custom iconset or even import iron-icons themselves?
Thanks.

Yeah for sure, was just for test i think
Il 08 ago 2016 10:49 PM, Tien Tran<EMAIL_ADDRESS>ha scritto:Can we please remove iron-icons dependency and its import in the element? As the doc says, the application should define those needed in their custom iconset or even import iron-icons themselves?
Thanks.
—You are receiving this because you are subscribed to this thread.Reply to this email directly, view it on GitHub, or mute the thread.


[hi] add hi/docs/concepts/architecture

PR Number : #39548
Localized en/docs/concepts/architecture in hindi language :)

/remove-lifecycle stale

Hi @kundan2707,
Thanks for your precious time.
I have commited to your suggestions, you can review it now and can approve it.

Hi @kundan2707,
Thanks for your precious time.
I have commited to your suggestions, you can review it now and can approve it.

@akash-kumar-saw  I am still reviewing and its not completed yet.

This PR is huge, and no one is willing to spend that much time reviewing this PR. That's why it's getting less and incomplete reviews. Even if i review this PR, still it will take some more months to also get approved by someone else.
@akash-kumar-saw can you please make new PRs for each file addition that you want to commit with this PR?
(For making it easier for reviewers to review it and merging your PR faster)
/hold

1 to what @aj11anuj said. This is a HUGE PR and with the reviewer/approver strength we have currently, it is difficult for us to review the entire chunk. Kindly open separate PRs for each file and we'll take it from there.

I'll be closing the PR and I'd request you to open separate Hindi PRs for each file for ease of approval + review.
/close


Update prerequisites.md

List Azure Linux 3

@johnmarco
Can you review the proposed changes?
Important: When the changes are ready for publication, adding a #sign-off comment is the best way to signal that the PR is ready for the review team to merge.
#label:"aq-pr-triaged"
@MicrosoftDocs/public-repo-pr-review-team

#sign-off


Disable then reenable PERFTIGER167

Offlined per @LoopedBard3's Teams request. This issue is about tracking the status of that machine and bringing it back online when @LoopedBard3 is done w/ it. PERFTIGER167 is in the alpine.amd64.tiger.perf queue.

Release Note Category

[ ] Feature changes/additions
[ ] Bug fixes
[x] Internal Infrastructure Improvements

Release Note Description
nada :grin:

Authentication issues appear to be blocking use of osob-cli. Need to get to the bottom of that…

--production on osob-cli command line fixed the issue that looked like an auth error
machine is currently disabled

re-enabled the machine


fmt: Empty array and nil array are printed both as empty array.

Please see following snippet (also saved in http://play.golang.org/p/bTc5CWT--P):
package main

import "fmt"
import "reflect"

func main() {
	var nilArray []string = nil
	emptyArray := []string{}
	if !reflect.DeepEqual(nilArray, emptyArray) {
		fmt.Printf("They are different as expected, let's see if this is going to be helpful message, like you would like to receive in some test\n")
		fmt.Printf("Expected:\n%+v\nGot:\n%+v\n", nilArray, emptyArray)
	}
}

I would expect it to print something like:
Expected:
<nil>
Got:
[]

but instead, I'm getting:
Expected:
[]
Got:
[]

Tracking what actually is different might be a PITA in some more complex data structures.

When the dictinction matters, the # verb modifier can be used to show it: http://play.golang.org/p/smJjDhLM-H

@cznic: Thanks for the hint. But the point probably still stands.

This is intended behaviour and even documented behaviour.


Bug Datepicker: disabled attribute doesn't work with Reactive Forms

Bug
What is the expected behavior?
It should work just like in example -> Disabled datepicker -> Input disabled (the third one)
What is the current behavior?
When using reactive forms it isn't disabled and we receive this message:

While I understand purpose of this message, setting disabled in form control prevents any changes to that field. I want only manual input to be disabled due to https://github.com/angular/material2/issues/11936 and https://github.com/angular/material2/issues/12064.
What are the steps to reproduce?
https://stackblitz.com/edit/angular-datepicker-disable-bug
Which versions of Angular, Material, OS, TypeScript, browsers are affected?

Angular: 6.0.7
Material: 6.3.2

This message is being logged by @angular/forms, not Material. You can post an issue about it on the main repo.

@crisbeto This really shouldn't been closed. As it currently stands it is impossible to have disabled input but enabled datepicker popup with inputs bounds to reactive form controls. This should've been addressed here, it is not a Angular Forms issue.
For others: there is a partial solution to this and it involves setting the readonly attribute however that changes the styling of the control.


search dynamic keywords at   sibling library

I want  support SeleinumLibrary  dynamic keywords.
here is some example code.
Not yet tested for stability.
// com.millennialmedia.intellibot.psi.element.HeadingImpl.java
// line 389
//  +  findChildrenClass(files, "keywords");

  /*
     * search sibling library by keywords
     * patch for SeleniumLibrary dynamic keywords
     * support all libraries that contain "keywords" package.
     * @param files  all pyClass
     * @param libraryName  default search is keywords.
     */
    void findChildrenClass(Collection files,String libraryName){

        Collection<PyFile> fileList=PyModuleNameIndex.find(libraryName,getProject(),true);
        for(PyFile pyFile:fileList){
            PyFile nextFile=pyFile;

            while (nextFile!=null){
                PsiElement[] all= nextFile.getChildren();
                for(PsiElement psiElement:all){
                    if(psiElement instanceof PyClass){
                        files.add(new RobotPythonClass(((PyClass) psiElement).getName(), (PyClass) psiElement, ImportType.LIBRARY));
                    }
                }
                nextFile= (PyFile) nextFile.getNextSibling();
            }
        }
    }

do you have some idea?

i forked that @ https://github.com/youwi/intellibot

@youwi Not being strictly correct, works as desired :+1:
Tested with SeleniumLibrary and my custom library using /keywords directory for storing keywords

@youwi  @outcatcher
Am i missing on something ? Downloaded and Installed plugin but still the issue persists

Hi Youwi,
Thank you so much for putting some work into the Intellibot library to fix the dynamic library problem. I think you're on the correct path in solving this problem, since I expect more libraries will follow the Selenium path and will be created as dynamic libraries.
I've tested your forked .jar in my Pyharm installation and although a great part of the Selenium Library works again, there are also a bunch of keywords that don't get autocompleted or resolved as a correct Selenium keyword. I've tested this among a few different installations and it seems all the keywords come from the same six keyword files. I didn't find the reason of the problem, but maybe it helps you out.
I've tested this again the 3.1.1 version of the Robot Selenium Library. These are the system's I've tested:
Windows 7, Pycharm 2017.1
Windows 10, Pycharm 2018.1
Mac OS High Sierra 10.13, Pycharm 2017.1
In all cases the keywords of the following library files aren't recognized:
alert.py
cookie.py
element.py
frames.py
waiting.py
window.py
I hope this helps you out. If there is anything else I can do to help, please let me know!

fixed. download new jar.

core code:
   void findChildrenClass(Collection files,String libraryName){

        Collection<PyFile> fileList = PyModuleNameIndex.find(libraryName, getProject(), true);
        List<PsiFile> allFiles = new ArrayList<PsiFile>();
        for (PyFile pyFile : fileList) {
            if (pyFile.getParent() != null){
                allFiles.addAll(Arrays.asList(pyFile.getParent().getFiles()));
            }
        }
        for (PsiFile pyFile : allFiles) {
            PsiFile nextFile = pyFile;
            while (nextFile != null) {
                PsiElement[] all = nextFile.getChildren();
                for (PsiElement psiElement : all) {
                    if (psiElement instanceof PyClass) {
                        files.add(new RobotPythonClass(((PyClass) psiElement).getName(), (PyClass) psiElement, ImportType.LIBRARY));
                    }
                }
                nextFile = (PyFile) nextFile.getNextSibling();
            }
        }
    }

Hi Youwi,
Great job! I just retested your new jar in the same 3 environments and now it works like a charm. Thank you very much for your work, I think you've made many Robot Framework / Pycharm users very happy with this new version!
Well done!

Thank you for this! I have 8,000+ students taking my Robot Framework training courses who really needed this update.
 Would you please join us there? We have an Intellibot channel there and would love to have you as part of the community.

CC @DanielPBak might we worth trying to merge into your efforts.


Update plugin for SBOM generation to 2.7.10

What changes were proposed in this pull request?
Update the CycloneDX Maven plugin for SBOM generation to 2.7.10

Why are the changes needed?

Does this PR introduce any user-facing change?

Is the change a dependency upgrade?

How was this patch tested?

Can you create a Jira for this & prefix that in the title like HIVE-XXXX: Update...

Can you create a Jira for this & prefix that in the title like HIVE-XXXX: Update...

@ayushtkn Done


docs(readme): replace @RouteConfig with @Routes

docs(readme): replace RouteConfig with Routes

Closed as obsolete now, since we removed that part of the readme.


Quantized model to run on a single 3090

Great work!
Are there plans to quantize the model, to allow it to run on a single 3090 GPU?
Thanks!

Yes sure, we already have fp16 model that cost 16GB mem, but the performance was little bit affected.
@cliangyu

That's great, I didn't realize the fp16 model existed! Can you please refer me to its link, as I couldn't find it?
I understand the performance will be slightly worse, but I want to give it a try locally if that's possible.

We have not officially released a fp16 model, but you can make it in one minute with the code below.
from otter import OtterForConditionalGeneration
import torch

load_bit = "fp16"

if load_bit == "fp16":
    precision = {"torch_dtype": torch.float16}
elif load_bit == "bf16":
    precision = {"torch_dtype": torch.bfloat16}

checkpoint_path = 'your_ckpt_path, probably hugging face model'
model = OtterForConditionalGeneration.from_pretrained(checkpoint_path, device_map='auto', **precision)

# save model
checkpoint_path = checkpoint_path + f"_{load_bit}"
OtterForConditionalGeneration.save_pretrained(model, checkpoint_path)


Remove unnecessary files from param folder

The param folder has params in HDF5 and json. Once the GUI tutorials are completed we there should be a review of all the parameter files used in all tutorials (GUI and API) and remove any unnecessary files. HDF5 files take up 1.3MB--while not huge, they are significantly larger than previous param files and can add up if more are eventually added.

If you added it already to git history ... no point in removing it later unless you intend to modify the original commit ...

Hmm... I see. I suppose we could commit each file individually then. So we can revert the ones we don't want to keep. Or is it not really worth the effort to save a little bit of space?

@ntolley @dylansdaniels Thoughts? Could be nice to not have the additional bloat with the package. Perhaps only have the default.hdf5 included with the package.

@jasmainak's suggestion makes perfect sense to me, that's how I would approach it as well


fix(ui/button): button loading icon size follows button

Checklist
List of tasks you have already done and plan to do.

[ ] Fix linting errors
[ ] Tests have been added / updated (or snapshots)

Change information
让加载图标的大小跟随按钮大小；目前按钮大小改变后，图标大小还是 normal，需要手动设置 loading-size
Issues
The issues you want to close, formatted as close #1.
Related Links
Links related to this pr.

感谢～


Can Fastlane verify assets and copy without uploading to ITC?

New Issue Checklist

[x] Updated fastlane to the latest version
[x] I read the Contribution Guidelines
[x] I read docs.fastlane.tools
[x] I searched for existing GitHub issues

Issue Description
Apple supports validating and ITC Package before uploading assets with verify mode:
https://help.apple.com/itc/transporteruserguide/#/apdATD1E1222-D1E1A1303-D1E1222A1126
Is it possible to use Deliver to perform verification without uploading to ITC?

I don't see any option that would indicate such a feature for deliver: https://docs.fastlane.tools/actions/deliver/
By the way, I am not sure if deliver is actually using iTMSTransporter in the background. If it does, this should be quite simple to implement. If it does not, this will be quite a bit harder. Do you want to investigate in the code a bit?

Hi @janpio, thanks for the tip. It does look like it is usin iTMSTransporter, when looking: fastlane_core/lib/fastlane_core/itunes_transporter.rb
The current value in itunes_transporter.rb: -m upload, but also allows -m verify to verify an .itmsp package. I'll keep looking into this further.

Yeah, we definitely do have an interface for iTMSTransporter, you should look into what deliver actually uses under the hood. If this is it, it shouldn't be too hard to add e.g. a param to deliver that then influences what is called on the transporter.

From what I can see Deliver uses spaceship to access iTC to upload images (and all the other store data) directly to iTC.
It doesn't look like there is anything currently to generate an xml that includes anything other than the *.ipa data in order to upload the *.ipa to iTC
I think there could be value in allowing the option to use iTMSTransporter to upload screenshots instead of accessing iTC directly which I feel is less likely to fail as often as uploading one by one to iTC. This is something I definitely would be interested in spending time looking at if the team has an interest in growing what it supports with iTMSTransporter.

(Pinged some people that might know more)

fastlane actually used to use the iTunes Transporter for all the metadata, including screenshots, however it caused a ton of problems for many of our users. For example, the iTunes Transporter caused issues on setups with firewalls, VPNs and proxies. We decided to re-implement everything using the iTunes Connect API, and things have been much more stable recently. There are currently no plans on going back to the transporter. We use the transporter just for the binary, as there is no other way.

Thanks for the context, completely understandable with the iTMSTransporter woes!
Although it looks to use the same network requirements, in the future altool might be worth considering as a simpler alternative to iTMSTransporter that wont auto-update like Transporter does.

#2166 might be relevant ;)

@KrauseFx @janpio @cpk1 thank you for your input. I am looking for a way to allow non developers access to manage and validate the screens and metadata without having to upload to a staged release in ITC. But what we have put together is a big step forward - the deliver download Jenkins jobs provide all copy and assets to each team in that nice structured format. Nice work to everyone who has contributed.
Once each team updates metadata and screens, they run the validate | upload Deliver job.
For Goole, I use Supply to pull down copy, and BitBucket to pull down the screens. The team makes the required updates and validates (thank you for the validate only flag!).
When we do finally run the Google |  Supply upload job, upon success, we push the screens back to BitBucket, so the next download job contains the new accurate set.
Another option we have is to write our own validation steps to check screens and character counts, but then you wind up maintaining test that can drift from what Apple provides.