Lookup without results fails

When a lookup provides no results (status is ZERO_RESULTS) a generic exception is thrown. IMO, the class Response should contain the following code:
val success: Boolean = status == "OK" || status == "ZERO_RESULTS"

When you look at sendRequest, the current implementation makes no sense without the above fix. In short, the implementation is as follows:
if (!response.success) { // if (status != "OK")
    throw new InvalidLocationException()
}
if (response.hasNoResults) { // if (status == "ZERO_RESULTS")
    Seq.empty[Result] // Unreachable code, since an exception was already thrown
}

Very good find @steventebrinke I've gone ahead and opened a PR for this which will probably be launched some point over the weekend as a minor point release.


Module filter not limiting modules used

Hi, I'm trying to generate a population that only has different types of cancer that is outputted to CSV.  In synthea.properties:
exporter.baseDirectory = ./output/
exporter.use_uuid_filenames = false
exporter.subfolders_by_id_substring = false
exporter.years_of_history = 10
exporter.split_records = false
exporter.split_records.duplicate_data = false
exporter.ccda.export = false
exporter.fhir.export = false
exporter.fhir_stu3.export = false
exporter.fhir_dstu2.export = false
exporter.fhir.use_shr_extensions = false
exporter.fhir.use_us_core_ig = false
exporter.fhir.transaction_bundle = true
exporter.fhir.bulk_data = false
exporter.hospital.fhir.export = false
exporter.hospital.fhir_stu3.export = false
exporter.hospital.fhir_dstu2.export = false
exporter.practitioner.fhir.export = false
exporter.practitioner.fhir_stu3.export = false
exporter.practitioner.fhir_dstu2.export = false
exporter.csv.export = true
exporter.csv.append_mode = false
exporter.csv.folder_per_run = false
exporter.cdw.export = false
exporter.text.export = false
exporter.text.per_encounter_export = false
exporter.cost_access_outcomes_report = false
exporter.prevalence_report = false
exporter.custom_report = true
...
generate.database_type = file
The command I'm using to do this is ./run_synthea -p 100 -m *cancer
The output .csv files generate the expected number of patients (usually 100 alive and around 6 dead), but the conditions are not only cancer-related. In fact, it's primarily heart-related conditions.
Is there something I'm missing to only output patients with cancer-related conditions?

You can't really disable Cardiovascular disease right now using the command line, you have to manually disable it by editing the code:
In src/main/java/org/mitre/synthea/engine/Module.java, comment out line 54
54:    retVal.put("Cardiovascular Disease", new ModuleSupplier(new CardiovascularDiseaseModule()));

becomes:
54:    //retVal.put("Cardiovascular Disease", new ModuleSupplier(new CardiovascularDiseaseModule()));

Rebuild and rerun, you shouldn't have any more heart related issues.

Hello, I tried generating cancer patient data using the command:
./run_synthea -p 1000 -c <file path> -m *cancer
I only got one entry in the "Conditions.csv" which had "cancer" in it. Am I doing something wrong?
Thank you for you help!


makefile+scripts: specify Go version for building release binaries

Closes https://github.com/lightninglabs/taproot-assets/issues/1045
To ensure our release binaries are reproducible, they must be built with a specific version of Go. This commit sets the GOTOOLCHAIN environment variable when building release binaries, ensuring that the build command uses the targeted Go version.
The GOTOOLCHAIN environment variable is supported only in Go version 1.21 or newer.

I'll add https://github.com/lightninglabs/taproot-assets/issues/1045#issuecomment-2245581043 in a different PR.

Latest commit is just a check which returns an error if the incorrect Go version is used.


added custom template case option (using ng-content)

When you need a dynamic content inside the inline editor you can now use type='custom' as a value to the type input argument.
I'm using it to display a rich-text editor like ngx-quill.
example:
<inline-editor type="custom" [(ngModel)]="value" name="editableText1">
  <div>
    <quill-editor [(ngModel)]="value"></quill-editor>
  </div>
</inline-editor>

Hi, thanks for your contribution! 👍
Could you adapt it to the new structure?


Doesn't  work for the keywords other than tags e.g "Computer".

Is there any way to fetch dataset dynamically after receiving the query word..and then applying TF-ID on it?

Yes we can! We can fetch data from wikipedia itself when keyword is entered but there might be a possibility that other words similar to entered keyword are not available in the dataset


Determining ltres and qtres

Is there an approximate rule of thumb for guessing "good" values for a specific workflow? It seems that, for the best results, these values must be scaled with the size of the incoming bitmaps.
For example, I've trial-and-errored my way to some reasonable looking values for specific sizes (2.5 ltres and qtres for a 512x image, 5 for 1024x -- 2.5, of course, is close to sqrt(5)).

Hi,
It depends on how much detail you need. If you need bigger, approximate shapes and need to ignore small pixel errors, then it's a good idea to set bigger ltres and qtres. If you need fine details, then the default 1 or maybe 0.5 are good values. Setting the linear treshold ltres to 0.1 will force most shapes to be curvy, and similarly, small qtres will force most shapes to be polygonal.
ltres and qtres are pixel distances squared.
There are some logical limits to ltres and qtres values:
Every raster shape's octagonal hull is split on every 2-direction-change. (Because 2 line segments can be approximated by a Q spline.) This means, that e. g. a raster circle's octagonal hull will be split to 4 parts. If we set extreme large values for ltres and qtres, then these will be approximated as lines and we'll get a square (but never a triangle), it's not possible to have less detail than the octagonal hull's 2-direction-parts.
Setting extremely small ltres and qtres will probably produce the octagonal hull, which is rarely required. (Every raster image can be trivially vectorized and rendered to SVG by saying that every pixel is an 1x1 size rectangle, but that sound a bit silly.)
The key is trying to discard as much detail as possible while still having an acceptable result.
You can reopen this Issue and attach some input images here if you need more advice.
More info:
Process overview


Add redirects to new blog

DON'T MERGE YET!
This is in preparation for launching our new HBC tech blog.

@ahollinshead these redirects are only able to be done via an HTTP-REFRESH. Using Github pages, we don't have server access


CommandException: No URLs matched

Problem
I ran the cellranger_workflow version 14 and Cell Ranger version 4.0.0.
Here's the error I get:
CommandException: No URLs matched: gs://fc-secure-abc-123/steve/project/2020-12-22/data_output/ABC123_fastqs/fastq_path/H2YNLBGXH/project_mgh_3_gex
CommandException: 1 file/object could not be transferred.

Here's the failed job, in case you want to have a look for yourself:
https://job-manager.dsde-prod.broadinstitute.org/jobs/95552f84-77fd-4174-8561-99afb9ea9771
This error occurs because cellranger_count is looking for a folder that is called {sample_id}, in this case "project_mgh_3_gex".
But a folder with the name sample_id is not created by the cellranger_mkfastq step. Is it possible that cellranger mkfastq did not make the {sample_id} folder for some reason? For example, could it be because the sample sheet had only 1 sample?
I can see that cellranger_mkfastq created FASTQ files like {sample_id}_S*.fastq.gz without making a folder called {sample_id}.
Here is the code where cellranger_count is looking for the folder {sample_id}:
https://github.com/klarman-cell-observatory/cumulus/blob/06968583beabbc25684e51fa74761b90593a3028/workflows/cellranger/cellranger_count.wdl#L107-L112
Solution
Maybe this code should be changed? It seems that this code is checking for the situation where we have {sample_id}_S*.fastq.gz filenames, and then it makes a new folder called {sample_id} and moves the FASTQ files into it.
https://github.com/klarman-cell-observatory/cumulus/blob/06968583beabbc25684e51fa74761b90593a3028/workflows/cellranger/cellranger_mkfastq.wdl#L109-L121

Is this issue related to the "Dual Index"?
https://support.10xgenomics.com/single-cell-gene-expression/sequencing/doc/specifications-sample-index-sets-for-single-cell-3
This particular job has a sample sheet with two values for the column Index:
SI-TT-A1
SI-NT-A1

I would suggest changing this special if-statement:
https://github.com/klarman-cell-observatory/cumulus/blob/06968583beabbc25684e51fa74761b90593a3028/workflows/cellranger/cellranger_mkfastq.wdl#L109-L121
Right now it is looking for samples where Index was not set. We infer that Index is not set when it is missing the - character.
Instead, the code should look for FASTQ files that are not in a {sample_id} folder. If files are found, then a new {sample_id} folder should be created and the files moved there.
In other words, the code inside the if-statement should always be running, regardless of whether or not Index contains the - character.

Hello,
I also got a similar exception after FASTQ generation in the call-collect-summaries step, where it seems that the pipeline is not creating the sample folder (as suggested above?).
CommandException: No URLs matched: gs://fc-secure-a6aa0703-c003-48d2-bfaf-557d70adefb1/201230_NB501935_0898_AH7H7HBGXF/cellranger_output/nasal_mucosa_test2_rna/metrics_summary.csv
I am running this on data from a NextSeq. Interestingly, when I submitted using a sample sheet that specified only 1 for Lane for this sample and its associated antibody hash, the pipeline didn't throw any error. Now that I am trying to run it with Lane set to 1-4 or *, I am getting this error.
It's clear that the folder and this file do not exist. The pipeline only spits out FASTQs that are separated by sample and lane.
Thanks for any insight!

Hello,
I also got a similar exception after FASTQ generation in the call-collect-summaries step, where it seems that the pipeline is not creating the sample folder (as suggested above?).
CommandException: No URLs matched: gs://fc-secure-a6aa0703-c003-48d2-bfaf-557d70adefb1/201230_NB501935_0898_AH7H7HBGXF/cellranger_output/nasal_mucosa_test2_rna/metrics_summary.csv
I am running this on data from a NextSeq. Interestingly, when I submitted using a sample sheet that specified only 1 for Lane for this sample and its associated antibody hash, the pipeline didn't throw any error. Now that I am trying to run it with Lane set to 1-4 or *, I am getting this error.
It's clear that the folder and this file do not exist. The pipeline only spits out FASTQs that are separated by sample and lane.
Thanks for any insight!

It sounds like you also have the situation where one step looks for a folder that was not created by the previous step.
To resolve this particular issue, I manually created the missing folders with the gsutil tool and moved the files by myself. Then the rest of the workflow continued without errors.
CommandException: No URLs matched: gs://fc-secure-0766ab78-4b99-40ba-ac02-eb5de88430d1/steve/project/2020-12-22/output/201222_NB551582_0040_AH2YNLBGXH_fastqs/fastq_path/H2YNLBGXH/project_mgh_3_gex
CommandException: 1 file/object could not be transferred.

In this case I had files like this:
fastq_path/H2YNLBGXH/{sample_id}_S*_L*_*_001.fastq.gz

But cellranger_count  was looking for:
fastq_path/H2YNLBGXH/{sample_id}/{sample_id}_S*_L*_*_001.fastq.gz

It sounds like you also have the situation where one step looks for a folder that was not created by the previous step.
To resolve this particular issue, I manually created the missing folders with the gsutil tool and moved the files by myself. Then the rest of the workflow continued without errors.
CommandException: No URLs matched: gs://fc-secure-0766ab78-4b99-40ba-ac02-eb5de88430d1/steve/project/2020-12-22/output/201222_NB551582_0040_AH2YNLBGXH_fastqs/fastq_path/H2YNLBGXH/project_mgh_3_gex
CommandException: 1 file/object could not be transferred.

In this case I had files like this:
fastq_path/H2YNLBGXH/{sample_id}_S*_L*_*_001.fastq.gz

But cellranger_count  was looking for:
fastq_path/H2YNLBGXH/{sample_id}/{sample_id}_S*_L*_*_001.fastq.gz

Maybe a separate issue, but is the workflow built to collapse samples split across lanes (and thus in separate FASTQs) during the cellranger_count or call-collect-summaries? Or maybe this problem could be avoided if I demultiplexed separately to only have one FASTQ with the data from all lanes merged?

Maybe a separate issue, but is the workflow built to collapse samples split across lanes (and thus in separate FASTQs) during the cellranger_count or call-collect-summaries? Or maybe this problem could be avoided if I demultiplexed separately to only have one FASTQ with the data from all lanes merged?

Hi @slowkow @majorkazer ,
I can confirm the issue was caused by dual index. We have fixed this issue in the newly released Cumulus 1.2.0 (https://cumulus.readthedocs.io/en/latest/index.html). Please give it a try!

Hi @slowkow @majorkazer ,
I can confirm the issue was caused by dual index. We have fixed this issue in the newly released Cumulus 1.2.0 (https://cumulus.readthedocs.io/en/latest/index.html). Please give it a try!


lz4: patch cmake to generate unified target

Fixes #322003.
Description of changes
Integrated changes from:

https://github.com/lz4/lz4/pull/1372
https://github.com/lz4/lz4/pull/1413

Dropped a patch for the make based build that is not used any more.
Added myself as a maintainer of the package.
Things done

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
24.11 Release Notes (or backporting 23.11 and 24.05 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[ ] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

Needs to target staging-next.

@ofborg build lz4


cosmetics

Refactor votingNodes logic
remove parens around single arg to arrow func

continues patiently awaiting @c-johnson's verdict, regardless of merge status


Multiple pkg deprecation warnings: har-validator, uuid, request

 WARN  deprecated<EMAIL_ADDRESS>request has been deprecated, see https://github.com/request/request/issues/3142
 WARN  deprecated<EMAIL_ADDRESS>Please upgrade  to version 7 or higher.  Older versions may use Math.random() in certain circumstances, which is known to be problematic.  See https://v8.dev/blog/math-random for details.
 WARN  deprecated<EMAIL_ADDRESS>this library is no longer supported

useragent ,dependency of browserslist-useragent-regex, use request which is deprecated
https://github.com/3rd-Eden/useragent/issues/168

Fixed by dc051751


Why did the preprocess_input method was removed in 1.0.0?

https://github.com/qubvel/efficientnet/blob/8aa3fa5479ec006195f220287b2d18eb90405f96/efficientnet/preprocessing.py#L55
Should I use the logic and preprocess the input image myself? Or should I completely skip it?
I've tested and trained a model with the preprocess logic from the preprocess_input method added and it produces better initial results.
Without it, in training, it looks stuck at < 0.01 training accuracy and it does not seem to go past it.
With it, 15% in the current epoch it's around 0.45 acc. (one downside is that it slows down 3-4 times the training)
Not that relevant as this is training but still. It looks that it's moving something.

It is not disappeared, now used preprocessing from keras-applications. You can import it
from efficientnet.keras import preprocess_input

Hi
I cannot import preprocessing:
from efficientnet.keras import preprocessing
cannot import name 'preprocessing' from 'efficientnet.keras' (....anaconda3/envs/tf2-gpu/lib/python3.7/site-packages/efficientnet/keras.py)
I am using tf2.
Any idea will be appreciated

Hi
I cannot import preprocessing:
from efficientnet.keras import preprocessing
cannot import name 'preprocessing' from 'efficientnet.keras' (....anaconda3/envs/tf2-gpu/lib/python3.7/site-packages/efficientnet/keras.py)
I am using tf2.
Any idea will be appreciated

when using tf2, you can use tfkeras instead.
from efficientnet.tfkeras import preprocess_input


Use ResizeObserver to detect size change of wheel container

For most use cases, the size of the container will only change if the window is resized (due to a responsive layout). So the current method of listening for window.resize is good enough. However this won't work if JavaScript triggers a resize of just the container, and we will need to call wheel.refresh().
Not a big deal, but ResizeObserver would be better. It was implemented in Edge and Safari in early 2020, so its fairly new tech, and we will need to fall back to the existing method of listening for window.resize.

As raised in #42, it might be nessecary to include Wheel.resize in the docs for older browsers that don't support ResizeObserver.

It's not just old browsers, I'm on the latest Safari that supports ResizeObserver, but I still have to call resize when resizing the window while the modal with the wheel is closed.

ResizeObserver

As raised in #42, it might be nessecary to include Wheel.resize in the docs for older browsers that don't support ResizeObserver.

It's not just old browsers, I'm on the latest Safari that supports ResizeObserver, but I still have to call resize when resizing the window while the modal with the wheel is closed.

@matronator this has not been implemented yet. When it does, you shouldn't need to call Wheel.resize in a modern browser.

Done in 028c510


[Event Request] Record::"Sales Header" - OnLookupTrigger Payment Terms Code

Another page is called (matrix) for appropriate payment choice.

We cannot accept requests with short text only. Please show the code and event specification.

local procedure "Sales Header_OnLookupPaymentTermsEvent"(var Rec: Record "Sales Header")
Code filters a matrix regarding circumstances of sales header data and opens a filtered matrix page. On this page you can choose (depending on set data) payment conditions fot the customer.

We are not adding an alternate OnLookup code to the table field.
You can add OnLookup trigger by an extension to the pages where you need a special behavior.


Fix Kubernetes endpoints subsets behavior

The Kubernetes Endpoints resource is split into a list of subsets, each consists of a list of addresses and a list of ports. So far, all subsets have been merged together, creating the cross product over addresses and ports of all subsets. This is incorrect. Each subset must have its cross product created before being merged together to a list of backends.

This change is

Coverage increased (+0.1%) to 43.667% when pulling 70feb4aea8ec1cd91bb34dbd118b1d191e633774 on pr/fix/k8s-endpoints into 317b6f13b797b7d40d5b3cb2f7fbe8345b28bf3f on master.

test-me-please

test-missed-k8s

test-missed-k8s

test-missed-k8s

test-missed-k8s

Should we do backport of this? :thinking:

test-me-please


updated franz (0.9.10)

Changes to a cask
Editing an existing cask

[x] Commit message includes cask’s name (and new version, if applicable).
[x] brew cask audit --download {{cask_file}} is error-free.
[x] brew cask style --fix {{cask_file}} left no offenses.

Thank you for the contribution. It needed some fixes, so they were made in c13e9e7d63a57c6cc5f8c0399581f91e539bcfd0. Your contribution is still included (and still credited to you), with the appropriate modifications. Please feel free to ask about any of the changes.

Ah, I was just fixing it... Never mind. Next time

No worries. I had my terminal open and I had just finished fixing another cask, so I thought “why not”.


A Few Bug Fixes

Resolves #161
Resolves #153
Resolves #175
Resolves #163
Resolves #43 (kinda)

Done

@BobTheBob9 is the syntax right? As barichello pointed out I don't know if this is a native issue or collateral from some Northstar mod because I wasn't able to find any reports for this specific crash.

Now also resolves #175

Seeing as I have no idea what the intended behavior should be for negative XP i decided to just go back to 0. Could also make it positive with *= -1 but that seems a little scuffed

Resolves #163

Wtf why did the empty lines on _xp.gnut get scuffed

Now resolves one of the three issues in #43

I don't think the fixes implemented in _anim.gnut and _titan_transfer.nut tackle the root of these problems, sure adding validity checks might prevent the game from crashing but that will probably move the crash somewhere else. Since that's the best we have for now I'll merge it anyways. Thanks

The change in _anim.gnut is more so a fix of an issue that should theoretically be native. I didn't add or remove any functionality, just changed a null check to a hopefully more in-depth IsValid() check


[disasters] update breadcrumbs

Added place explorer-like breadcrumbs to the top of the page (adding Earth, but filtering out continents). Made a separate component since this logic might continue changing, and the place explorer component was using older types, different api, etc.
Removed breadcrumbs from the disaster map

thanks for the review!


Build-in Instant Search

Is your feature request related to a problem? Please describe.
No. Just want to add the instant search function to apps page
Describe the solution you'd like
In the future we're going to support more and more apps, in the meantime it might be a problem for users to find out if we support a specific app. So a search bar is necessary.
Describe alternatives you've considered
https://www.algolia.com Might be a solution. And also https://github.com/algolia/instantsearch.js
Additional context
I'll try it by myself but I don't think I can get it done. If any of you have ideas just leave a comment below.

我觉得无须第三方库，使用 liquid 生成 json,或者生成数组对象，使用 js 索引，或者直接搜索 dom 即可，需要考虑的只有性能。

I think we will need to process all the downloiad links to json format as soon as possible.
The json will include these information:

App Name
App Type (Like Browser, Player, Editor etc.)
Download Link Type (China Optimized, Non China Optimized, Blocked By The Internet Restrict Policy etc.) They should have different reminder in the page
Latest Release Data if possible

For the json format, I still not quite clear about how to fit in the alias system.
And also I don't know should we add in CDN Type or not, that can work with the Download Link Type
Please give out some ideas.


update repo's README?

As I sent in the PR #12, we received more responses including the ones who attended in online workshop in 2021. The figures and data shown in the repo's README is based on outdated data, and probably this should be updated.
I suppose this README (or the whole repo?) has DOI, and I thought it is not probably good idea to send an update in README with new figures etc, but is it OK to do so?

It is a good idea to update the images. We can and will create new DOIs. The DOI did not mean that this is finished.

OK, then I will work on update the README with new data.

Thank you for your work on this!


[Feature]: Hiding form hints until Submit

What would you like to see added to the NWB GUIDE?
For example, I find this amount of red in a form to be unsettling:

Can we please alter this so that the "hints" that appear below each text field only pop up after you hit "Create" with invalid inputs?
Do you have any interest in helping implement the feature?
Yes.
Code of Conduct
Yes
Did you confirm this feature was not already reported?
Yes

Specifically, the request seems to be to not display error flags for fields that are, in some cases, default in an error state (usually because missing when required)
I believe this results because it is the common mechanism of any error to display the flag explaining that error
@garrettmflynn Question is, how hard would this be to separate from the normal behavior of user typing in an input and the flag only being displayed on invalidation of that input?

Yeah, I think technically speaking what I want is to skip validation a first and then apply validation either when a user deselects a field or when a user its submit (or similar).

This was already implemented in https://github.com/NeurodataWithoutBorders/nwb-guide/pull/632, we just haven't merged it in yet 😅

Looks like @bendichter approved it but then someone forgot to hit the merge button
closed with #632, reopen otherwise


ResourceWarning: unclosed socket in pytest

When using api4jenkins with pytest, it may happen that the following exception occurs:
    def unraisable_exception_runtest_hook() -> Generator[None, None, None]:
        with catch_unraisable_exception() as cm:
            yield
            if cm.unraisable:
                if cm.unraisable.err_msg is not None:
                    err_msg = cm.unraisable.err_msg
                else:
                    err_msg = "Exception ignored in"
                msg = f"{err_msg}: {cm.unraisable.object!r}\n\n"
                msg += "".join(
                    traceback.format_exception(
                        cm.unraisable.exc_type,
                        cm.unraisable.exc_value,
                        cm.unraisable.exc_traceback,
                    )
                )
>               warnings.warn(pytest.PytestUnraisableExceptionWarning(msg))
E               pytest.PytestUnraisableExceptionWarning: Exception ignored in: <socket.socket fd=-1, family=10, type=1, proto=6>
E
E               Traceback (most recent call last):
E                 File "/usr/lib64/python3.11/encodings/idna.py", line 155, in encode
E                   result = input.encode('ascii')
E                            ^^^^^^^^^^^^^^^^^^^^^
E               ResourceWarning: unclosed <socket.socket fd=34, family=10, type=1, proto=6, laddr=('::1', 48440, 0, 0), raddr=('::1', 50001, 0, 0)>

This is because the http_client in the Jenkins class constructor (and probably the async version, too) isn't closed after being used. I think the garbage collector of python isn't working properly in this case because the jenkins object (instance) is being passed into all BaseItem items as reference.
As a workaround, the http client can be closed manually:
jenkins_client = Jenkins(...)

# Do something with the client
client.get_job(...)

# Close the http client
jenkins_client.http_client.close()

but I'd suggest to wrap the http client in an (auto closing) context manager or something like that.

@g3n35i5 this is similar with https://github.com/psf/requests/issues/3912, you need close Client explicitly in some case. but it will not case your test failed.

@joelee2012 you're right, my tests are failing because I run them in warnings as errors mode.
This is indeed similar to the linked issue but I still think that wrapping the socket in a context manager here would be a good idea.

@g3n35i5 yes it can be a context manager and welcome to create PR :smile:


Fix text and background colors in dark mode

When using the plugin with a standalone forms builder, there are some issues with the text and background colors between dark and light
Before in the dark:

After in the dark:

Before in th

e light:
After in the light:

Can you adjust the divide color too, please. If not I can handle it, would just prefer it to be part of the same PR.

absolutely

Thank you. I'll review and get it in tomorrow.


Give unique aliases for smartcards with the same name, so that two re…

…aders do not end up with the same alias.

Without this patch, two identical readers will end up with same alias and then attempts to talk to the 2 readers will end up talking to just one of the two readers and basically makes it impossible to use either reader.

I think this one looks ok +1

@freerdp-bot test

Looks also good to me.
+1

@freerdp-bot add to whitelist


Add a CODEOWNERS file

GitHub will automatically add the users listed here as reviewers on all pull requests in this repo. I think it’ll be helpful for contributors opening pull requests for the first time.
This list is the core development team for the repo; we can still add additional reviewers on an ad-hoc basis.
This is a quick example so we can test its utility. If we want to keep it, we might instead want to use a single codeowner which is a GitHub team.

@lawrence-forooghian Regarding GitHub Teams: As far as I'm aware, backed up by my experiences of trying to use teams to organise our outside collaborators (not possible), teams are only visible - and thus useful - to those within our GitHub orgs. See GitHub docs here.

I can't see anything from the docs to suggest it's possible, unfortunately.

I think, on further reflection, that our ways of working in the SDK Team - for the time being at least - don't really support the adoption of code owners, and more specifically the implication that we would enable "Require review from Code Owners" on the main branch protection rule.
As such, for the moment, this will add more confusion and noise than benefit. As such, I'm going to close this pull request with the caveat that I am completely comfortable with us reopening this discussion in future if we have a focussed need for this to solve issues we're encountering with workflow management. I just don't see that need at the current time.

Yep, makes sense. I was coming at it from an ease-of-onboarding angle primarily, but given we seem to bring new developers onto this repo relatively infrequently, agree that it's not worth it given the downsides.


find_all_bads throws inf/nan error after filtering/detrending?

Hi - I am trying to find and eliminate all bad channels from a 19ch EEG array. When I attempt to use the find_all_bads function, I receive the following error:
>>> import mne
>>> import numpy as np
>>> from find_noisy_channels import NoisyChannels

>>> data.shape
(19, 625773)
>>> np.isnan(data).any()
False
>>> np.isinf(data).any()
False
>>> np.isfinite(data).all()
True

>>> mne_info = mne.create_info(ch_names = channels, sfreq = eeg_stream_srate, ch_types = 'eeg')
>>> mne_data = mne.io.RawArray(data, mne_info)

>>> noisy_channels = NoisyChannels(mne_data, random_state = 1337)
>>> noisy_channels.find_all_bads(ransac = True, channel_wise = True)

Setting up high-pass filter at 1 Hz

FIR filter parameters
---------------------
Designing a one-pass, zero-phase, non-causal highpass filter:
- Windowed time-domain design (firwin) method
- Hamming window with 0.0194 passband ripple and 53 dB stopband attenuation
- Lower passband edge: 1.00
- Lower transition bandwidth: 1.00 Hz (-6 dB cutoff frequency: 0.50 Hz)
- Filter length: 1651 samples (3.302 sec)

Output exceeds the [size limit](command:workbench.action.openSettings?[). Open the full output data [in a text editor](command:workbench.action.openLargeOutput?1b247b6c-4e92-4d03-9c32-03410fec8a82)
---------------------------------------------------------------------------
ValueError                                Traceback (most recent call last)
...

File .../find_noisy_channels.py:222, in NoisyChannels.find_all_bads(self, ransac, channel_wise, max_chunk_size)
    220 self.find_bad_by_SNR()
    221 if ransac:
--> 222     self.find_bad_by_ransac(
    223         channel_wise=channel_wise, max_chunk_size=max_chunk_size
    224     )

File .../find_noisy_channels.py:577, in NoisyChannels.find_bad_by_ransac(self, n_samples, sample_prop, corr_thresh, frac_bad, corr_window_secs, channel_wise, max_chunk_size)
    573 exclude_from_ransac = (
    574     self.bad_by_correlation + self.bad_by_deviation + self.bad_by_dropout
    575 )
    576 rng = copy(self.random_state) if self.matlab_strict else self.random_state
--> 577 self.bad_by_ransac, ch_correlations_usable = find_bad_by_ransac(
    578     self.EEGFiltered,
    579     self.sample_rate,
    580     self.ch_names_new,
    581     self.raw_mne._get_channel_positions()[self.usable_idx, :],
...
--> 603     raise ValueError(
    604         "array must not contain infs or NaNs")
    605 return a

ValueError: array must not contain infs or NaNs

Because the input data array does not contain any nans or infs, my assumption is that some part of the detrend/filtering within the find_all_bads() function creates inf or nan values that can not then be further processed.
But when I detrend/filter manually, I still have no nans or infs
>>> from removeTrend import removeTrend
>>> data_detrend = removeTrend(mne_data.get_data(), sample_rate = eeg_stream_srate, matlab_strict = False)
>>> np.isfinite(data_detrend).all()
True

If I examine the full stack trace, it looks like the error is in the call to make_interpolation_matrices in ransac.py which is relying on mne to call the scipy pseudo-inverse function?
  Input In [30] in <cell line: 3>
    noisy_channels.find_all_bads(ransac = True, channel_wise = True)

  File .../find_noisy_channels.py:222 in find_all_bads
    self.find_bad_by_ransac(

  File .../find_noisy_channels.py:577 in find_bad_by_ransac
    self.bad_by_ransac, ch_correlations_usable = find_bad_by_ransac(

  File .../ransac.py:162 in find_bad_by_ransac
    interp_mats = _make_interpolation_matrices(random_ch_picks, chn_pos_good)

  File .../ransac.py:284 in _make_interpolation_matrices
    mat[:, sample] = _make_interpolation_matrix(subset_pos, chn_pos_good)

  File ~/miniconda3/envs/.../lib/python3.9/site-packages/mne/channels/interpolation.py:108 in _make_interpolation_matrix
    C_inv = linalg.pinv(C)

  File ~/miniconda3/envs/.../lib/python3.9/site-packages/scipy/linalg/basic.py:1315 in pinv
    a = _asarray_validated(a, check_finite=check_finite)

  File ~/miniconda3/envs/.../lib/python3.9/site-packages/scipy/_lib/_util.py:293 in _asarray_validated
    a = toarray(a)

  File ~/miniconda3/envs/.../lib/python3.9/site-packages/numpy/lib/function_base.py:603 in asarray_chkfinite
    raise ValueError(

ValueError: array must not contain infs or NaNs

Where are the nans/infs coming from and suggestions for how to address this?
Thanks!

Thanks for the report! Have you tried this with other data that is comparable in time length and channel number as well and ran into the same issue?
I could imagine that it has something to do with the few amount of channels, but I am not sure and even if that is the case, there should be a proper error message then.

one thing to check is the exclude_from_ransac variable --> how many of the 19 channels have already been identified as bad before you even start to go through a ransac routine?
https://github.com/sappelhoff/pyprep/blob/c6b268b90e08af2d4740496414cad649344345fa/pyprep/find_noisy_channels.py#L573-L592

Thanks, if I add print(exclude_from_ransac) here I end up with the following output: ['Fp1', 'Fp2', 'F8', 'Cz', 'T3', 'Cz'], so it looks like 6 channels are dropped pre-ransac routine.
If I try with a different EEG set, another set of 6 channels is identified to exclude from ransac, and the same error occurs:
FIR filter parameters
---------------------
Designing a one-pass, zero-phase, non-causal highpass filter:
- Windowed time-domain design (firwin) method
- Hamming window with 0.0194 passband ripple and 53 dB stopband attenuation
- Lower passband edge: 1.00
...
- Lower transition bandwidth: 1.00 Hz (-6 dB cutoff frequency: 0.50 Hz)
- Filter length: 1651 samples (3.302 sec)

['F7', 'Fp1', 'Fp2', 'T3', 'T4', 'Fp1']

---------------------------------------------------------------------------
ValueError                                Traceback (most recent call last)
Input In [6], in <cell line: 4>()
      2 from find_noisy_channels import NoisyChannels
      3 noisy_channels = NoisyChannels(mne_data, random_state = 1337)
----> 4 noisy_channels.find_all_bads(ransac = True, channel_wise = True)

File /mnt/work/.../find_noisy_channels.py:222, in NoisyChannels.find_all_bads(self, ransac, channel_wise, max_chunk_size)
    220 self.find_bad_by_SNR()
    221 if ransac:
--> 222     self.find_bad_by_ransac(
    223         channel_wise=channel_wise, max_chunk_size=max_chunk_size
    224     )

File /mnt/work/.../find_noisy_channels.py:578, in NoisyChannels.find_bad_by_ransac(self, n_samples, sample_prop, corr_thresh, frac_bad, corr_window_secs, channel_wise, max_chunk_size)
    576 print(exclude_from_ransac)
    577 rng = copy(self.random_state) if self.matlab_strict else self.random_state
--> 578 self.bad_by_ransac, ch_correlations_usable = find_bad_by_ransac(
    579     self.EEGFiltered,
    580     self.sample_rate,
    581     self.ch_names_new,
    582     self.raw_mne._get_channel_positions()[self.usable_idx, :],
    583     exclude_from_ransac,
    584     n_samples,
    585     sample_prop,
    586     corr_thresh,
    587     frac_bad,
    588     corr_window_secs,
    589     channel_wise,
    590     max_chunk_size,
    591     rng,
    592     self.matlab_strict,
    593 )
    595 # Reshape correlation matrix to match original channel count
    596 n_ransac_windows = ch_correlations_usable.shape[0]

File /mnt/work/.../ransac.py:162, in find_bad_by_ransac(data, sample_rate, complete_chn_labs, chn_pos, exclude, n_samples, sample_prop, corr_thresh, frac_bad, corr_window_secs, channel_wise, max_chunk_size, random_state, matlab_strict)
    159     random_ch_picks.append(picks)
    161 # Generate interpolation matrix for each RANSAC sample
--> 162 interp_mats = _make_interpolation_matrices(random_ch_picks, chn_pos_good)
    164 # Calculate the size (in frames) and count of correlation windows
    165 correlation_frames = corr_window_secs * sample_rate

File /mnt/work/.../ransac.py:284, in _make_interpolation_matrices(random_ch_picks, chn_pos_good)
    282     mat = np.zeros((n_chans_good, n_chans_good))
    283     subset_pos = chn_pos_good[sample, :]
--> 284     mat[:, sample] = _make_interpolation_matrix(subset_pos, chn_pos_good)
    285     interpolation_mats.append(mat)
    287 return interpolation_mats

File ~/miniconda3/.../CFS/lib/python3.9/site-packages/mne/channels/interpolation.py:108, in _make_interpolation_matrix(pos_from, pos_to, alpha)
    104     G_from.flat[::len(G_from) + 1] += alpha
    106 C = np.vstack([np.hstack([G_from, np.ones((n_from, 1))]),
    107                np.hstack([np.ones((1, n_from)), [[0]]])])
--> 108 C_inv = linalg.pinv(C)
    110 interpolation = np.hstack([G_to_from, np.ones((n_to, 1))]) @ C_inv[:, :-1]
    111 assert interpolation.shape == (n_to, n_from)

File ~/miniconda3/.../CFS/lib/python3.9/site-packages/scipy/linalg/basic.py:1315, in pinv(a, atol, rtol, return_rank, check_finite, cond, rcond)
   1241 def pinv(a, atol=None, rtol=None, return_rank=False, check_finite=True,
   1242          cond=None, rcond=None):
   1243     """
   1244     Compute the (Moore-Penrose) pseudo-inverse of a matrix.
   1245
   (...)
   1313
   1314     """
-> 1315     a = _asarray_validated(a, check_finite=check_finite)
   1316     u, s, vh = decomp_svd.svd(a, full_matrices=False, check_finite=False)
   1317     t = u.dtype.char.lower()

File ~/miniconda3/.../CFS/lib/python3.9/site-packages/scipy/_lib/_util.py:293, in _asarray_validated(a, check_finite, sparse_ok, objects_ok, mask_ok, as_inexact)
    291         raise ValueError('masked arrays are not supported')
    292 toarray = np.asarray_chkfinite if check_finite else np.asarray
--> 293 a = toarray(a)
    294 if not objects_ok:
    295     if a.dtype is np.dtype('O'):

File ~/miniconda3/envs/.../lib/python3.9/site-packages/numpy/lib/function_base.py:603, in asarray_chkfinite(a, dtype, order)
    601 a = asarray(a, dtype=dtype, order=order)
    602 if a.dtype.char in typecodes['AllFloat'] and not np.isfinite(a).all():
...
--> 603     raise ValueError(
    604         "array must not contain infs or NaNs")
    605 return a

ValueError: array must not contain infs or NaNs

Mmmhh, seems like we have to dig into the code a bit more. Two requests:

can you pick some unrelated data, prune it down to 19 channels, and run it?
can you share your data (e.g. as .npy if you are using arrays) AND a minimal working example with me to replicate the error? I could then spend some time digging into this as well.

Sure, thanks for your help!

Yes, tried with a few different data sets, same error.
example .npy zipped data file attached.

import numpy as np
import mne
from find_noisy_channels import NoisyChannels

channels = ['F7', 'Fp1', 'Fp2', 'F8', 'F3', 'Fz', 'F4', 'C3', 'Cz', 'P8', 'P7', 'Pz', 'P4', 'T3', 'P3', 'O1', 'O2', 'C4', 'T4']
eeg_stream_srate = 500

data = np.load('data1.npy')

mne_info = mne.create_info(ch_names = channels, sfreq = eeg_stream_srate, ch_types = 'eeg')
mne_data = mne.io.RawArray(data, mne_info)

noisy_channels = NoisyChannels(mne_data, random_state = 1337)
noisy_channels.find_all_bads(ransac = True, channel_wise = True)

With the following output:
Setting up high-pass filter at 1 Hz

FIR filter parameters
---------------------
Designing a one-pass, zero-phase, non-causal highpass filter:
- Windowed time-domain design (firwin) method
- Hamming window with 0.0194 passband ripple and 53 dB stopband attenuation
- Lower passband edge: 1.00
...
- Lower transition bandwidth: 1.00 Hz (-6 dB cutoff frequency: 0.50 Hz)
- Filter length: 1651 samples (3.302 sec)

exclude_from_ransac: ['F7', 'Fp1', 'Fp2', 'F8', 'Cz', 'T3', 'T4', 'Cz']

---------------------------------------------------------------------------
ValueError                                Traceback (most recent call last)

File .../find_noisy_channels.py:222, in NoisyChannels.find_all_bads(self, ransac, channel_wise, max_chunk_size)
    220 self.find_bad_by_SNR()
    221 if ransac:
--> 222     self.find_bad_by_ransac(
    223         channel_wise=channel_wise, max_chunk_size=max_chunk_size
    224     )

File .../find_noisy_channels.py:578, in NoisyChannels.find_bad_by_ransac(self, n_samples, sample_prop, corr_thresh, frac_bad, corr_window_secs, channel_wise, max_chunk_size)
    576 print('exclude_from_ransac: {}'.format(exclude_from_ransac))
    577 rng = copy(self.random_state) if self.matlab_strict else self.random_state
--> 578 self.bad_by_ransac, ch_correlations_usable = find_bad_by_ransac(
    579     self.EEGFiltered,
    580     self.sample_rate,
    581     self.ch_names_new,
    582     self.raw_mne._get_channel_positions()[self.usable_idx, :],
    583     exclude_from_ransac,
    584     n_samples,
    585     sample_prop,
    586     corr_thresh,
    587     frac_bad,
    588     corr_window_secs,
    589     channel_wise,
    590     max_chunk_size,
    591     rng,
    592     self.matlab_strict,
    593 )
    595 # Reshape correlation matrix to match original channel count
    596 n_ransac_windows = ch_correlations_usable.shape[0]

File .../ransac.py:162, in find_bad_by_ransac(data, sample_rate, complete_chn_labs, chn_pos, exclude, n_samples, sample_prop, corr_thresh, frac_bad, corr_window_secs, channel_wise, max_chunk_size, random_state, matlab_strict)
    159     random_ch_picks.append(picks)
    161 # Generate interpolation matrix for each RANSAC sample
--> 162 interp_mats = _make_interpolation_matrices(random_ch_picks, chn_pos_good)
    164 # Calculate the size (in frames) and count of correlation windows
    165 correlation_frames = corr_window_secs * sample_rate

File..../ransac.py:284, in _make_interpolation_matrices(random_ch_picks, chn_pos_good)
    282     mat = np.zeros((n_chans_good, n_chans_good))
    283     subset_pos = chn_pos_good[sample, :]
--> 284     mat[:, sample] = _make_interpolation_matrix(subset_pos, chn_pos_good)
    285     interpolation_mats.append(mat)
    287 return interpolation_mats

File ~/miniconda3/envs/.../lib/python3.9/site-packages/mne/channels/interpolation.py:108, in _make_interpolation_matrix(pos_from, pos_to, alpha)
    104     G_from.flat[::len(G_from) + 1] += alpha
    106 C = np.vstack([np.hstack([G_from, np.ones((n_from, 1))]),
    107                np.hstack([np.ones((1, n_from)), [[0]]])])
--> 108 C_inv = linalg.pinv(C)
    110 interpolation = np.hstack([G_to_from, np.ones((n_to, 1))]) @ C_inv[:, :-1]
    111 assert interpolation.shape == (n_to, n_from)

File ~/miniconda3/envs/.../lib/python3.9/site-packages/scipy/linalg/basic.py:1315, in pinv(a, atol, rtol, return_rank, check_finite, cond, rcond)
   1241 def pinv(a, atol=None, rtol=None, return_rank=False, check_finite=True,
   1242          cond=None, rcond=None):
   1243     """
   1244     Compute the (Moore-Penrose) pseudo-inverse of a matrix.
   1245
   (...)
   1313
   1314     """
-> 1315     a = _asarray_validated(a, check_finite=check_finite)
   1316     u, s, vh = decomp_svd.svd(a, full_matrices=False, check_finite=False)
   1317     t = u.dtype.char.lower()

File ~/miniconda3/envs/.../lib/python3.9/site-packages/scipy/_lib/_util.py:293, in _asarray_validated(a, check_finite, sparse_ok, objects_ok, mask_ok, as_inexact)
    291         raise ValueError('masked arrays are not supported')
    292 toarray = np.asarray_chkfinite if check_finite else np.asarray
--> 293 a = toarray(a)
    294 if not objects_ok:
    295     if a.dtype is np.dtype('O'):

File ~/miniconda3/envs/.../lib/python3.9/site-packages/numpy/lib/function_base.py:603, in asarray_chkfinite(a, dtype, order)
    601 a = asarray(a, dtype=dtype, order=order)
    602 if a.dtype.char in typecodes['AllFloat'] and not np.isfinite(a).all():
...
--> 603     raise ValueError(
    604         "array must not contain infs or NaNs")
    605 return a

ValueError: array must not contain infs or NaNs

data1.zip

Thanks:

Cognionics Quick-20 headset
Cognionics CGX Data Acquisition Software
Microvolts
Yes

I don't do any pre-processing on the data before dumping it into the PREP pipeline. Thanks for the note on volts, but I'm not sure scaling is the issue? F7 and other channels that are outliers are excluded from ransac exclude_from_ransac prior to running the ransac function.

What is the original output format of the Cognionics acquisition software? I am wondering why you have to read the data as npy array and create an mne data structure from scratch.

but I'm not sure scaling is the issue

I am also not so sure, but debugging is easier when we tackle the obvious and easy problems first, and then progress --> do you not agree that the scaling of your data seems off after loading it into an mne data structure?

Original output is an LSL stream which is parsed as a raw array.
Agree, the scaling is off, but I can re-scale all channels to volts without fixing the error.

okay, the solution was quite simple: you don't have channel positions in your raw object, try:
montage = mne.channels.make_standard_montage("standard_1020")
mne_data.set_montage(montage)
noisy_channels = NoisyChannels(mne_data, random_state=1337)
noisy_channels.find_all_bads(ransac=True, channel_wise=True)

We definitely need a better error message for this

Amazing, thanks for figuring that out!

Thanks for your report 👍


[Cleanup] Vector#to_s and DataFrame#to_s should return something reasonable

...now they are synonyms for #to_html, so, puts Daru::Vector([1,2,3]) will produce pretty strange result for newcomer.

I think this is done so that Daru::DataFrame.new({ a: [1,2,3] }) will produce a nice table output in iRuby.  Otherwise, the user would have to explicitly call #to_html in iRuby to see the nice tables.
When I'm not working in iRuby and I need to inspect data in a dataframe, I usually just call #to_a.

@gnilrets is right. However if iruby has some method that allows us to convert to iruby compatible pretty printing we can use that instead of to_s.

If I'm reading current IRuby's code correctly, it outputs obj.to_html if object responds to #to_html, therefore no needs to output HTML for #to_s.
Moreover, if you'll read the file by my link from top to bottom, there is no place where attempt to #to_s the object is made: the last resort is #inspect.

Hmmm I'll just try that out in an iruby notebook and post it here.

@zverok you're right. It does indeed make use of to_html (not sure in which version they introduced this change).
I made some changes to my local daru install and here's the output:

Yeah, I've investigated the matters thorougly preparing my reality for IRuby compatibility :) Current behavior seems much more logical than relying upon #to_s

OK, I see several possible options for #to_s:

just synonym for #inspect;
more fancy table formatting (like terminal-table allows);
short string of header-only, like "Daru::DataFrame(3x5)" and that's all.

Of them, opt.1 is the simplest we can do :), opt.2 produces the most reasonable result for puts dataframe, and opt.3 produces the most reasonable result for raise ArugmentError, "You should provide Integer, #{variable} received" (with variable eventually turning up to be DF/Vector).

I would go with 3. simply because inspect is more of diving deeper into the data structure while to_s is like short stringified representation. 2 can also be done separately in a #terminal_table method.

Think this can be closed given the above merged PR.


Getting errors on starting the application

I tried to run the application locally in ng2 branch but I am getting some weird errors, could you guys please help with it, @Kaizeras @Thorius94 @senart ,
I follow these commands:-

npm install
npm start

webpack: bundle is now VALID.
[default] Checking started in a separate process...
[default] /Users/ashish/Dropbox/my_work/ng2/sg-app-client/node_modules/@types/core-js/index.d.ts:21:14
    Duplicate identifier 'PropertyKey'.
[default] /Users/ashish/Dropbox/my_work/ng2/sg-app-client/node_modules/@types/core-js/index.d.ts:85:5
    All declarations of 'name' must have identical modifiers.
[default] /Users/ashish/Dropbox/my_work/ng2/sg-app-client/node_modules/@types/core-js/index.d.ts:145:5
    Subsequent variable declarations must have the same type.  Variable '[Symbol.unscopables]' must be of type '{ copyWithin: boolean; entries: boolean; fill: boolean; find: boolean; findIndex: boolean; keys: ...', but here has type 'any'.
[default] /Users/ashish/Dropbox/my_work/ng2/sg-app-client/node_modules/@types/core-js/index.d.ts:262:5
    All declarations of 'flags' must have identical modifiers.
[default] /Users/ashish/Dropbox/my_work/ng2/sg-app-client/node_modules/@types/core-js/index.d.ts:276:5
    All declarations of 'EPSILON' must have identical modifiers.
[default] /Users/ashish/Dropbox/my_work/ng2/sg-app-client/node_modules/@types/core-js/index.d.ts:311:5
    All declarations of 'MAX_SAFE_INTEGER' must have identical modifiers.
[default] /Users/ashish/Dropbox/my_work/ng2/sg-app-client/node_modules/@types/core-js/index.d.ts:318:5
    All declarations of 'MIN_SAFE_INTEGER' must have identical modifiers.
[default] /Users/ashish/Dropbox/my_work/ng2/sg-app-client/node_modules/@types/core-js/index.d.ts:457:5
    Subsequent variable declarations must have the same type.  Variable '[Symbol.toStringTag]' must be of type '"Symbol"', but here has type 'string'.

I have just added a part of the error message not the full message,
I am not sure where to start debugging this error?

Hello Ashish,
We'll look into it and get back to you.

@Kaizeras from the ng2 branch, should I pull from the master branch but its not updated for a long time and not the default branch so I chose ng2 branch,

@Kaizeras hey any updates on this? I am really looking forward to set it up locally 😄

There seems to be some problem with your typings config. What version of Typescript do you have?
Try to delete node_modules and run npm install again.
After that, run typings prune just in case.

@Kaizeras ohh yes I was using a very old version of typescript, I upgraded and it worked many thanks 👍


cannot create cohort in the "erroranalysis-dashboard-multiclass" example

Hi there,
I tried to run the sample notebook "erroranalysis-dashboard-multiclass" on my local computer. For the section "Load simple ErrorAnalysis view without explanations" at around the 7th cell, the error analysis interface showed up normally, but the cohort is always "all data", which contains 89 testing samples. I tried to select two features in the heatmap tab but nothing happened. The cohort is all data and only the overall error rate was shown, no broken-down heatmap. A similar situation happened for the census example. Have I done something wrong here?
Any help is appreciated.

Oh, this dashboard doesn't work on databricks, this is a duplicate of:
https://github.com/microsoft/responsible-ai-toolbox/issues/944
That would explain the behavior you are seeing.
However, for local case it should work fine, but I can't reproduce the issue.
If you are still having problems in local case maybe we can have a call, otherwise I will close this issue.  Please feel free to reopen if you need help to debug more.


cni: pass in the cgroupPath capability argument

There is a new CNI capability argument, cgroupPath, where runtimes can pass cgroup paths to CNI plugins.
(see: https://github.com/containernetworking/cni/pull/936)
Implement that.
Signed-off-by: Casey Callendrello<EMAIL_ADDRESS>

/cc

/ok-to-test

This is not unit-testable (due to the structure of go-cni), but I spun up a test cluster and saw this passed in correctly. Specifically, my debug plugin saw this as the CNI configuration:
{
  "capabilities": {
    "cgroupPath": true
  },
  "cniVersion": "0.3.1",
  "enable-debug": true,
  "name": "cdc-cni-debug",
  "runtimeConfig": {
    "cgroupPath": "/kubelet.slice/kubelet-kubepods.slice/kubelet-kubepods-besteffort.slice/kubelet-kubepods-besteffort-pod1735c29c_32af_407c_aa34_9ec25fbef089.slice"
  },
  "type": "cdc-cni-debug"
}

It is not related to your change. It seems it's env issue. Retrying
Handles  NPM(K)    PM(K)      WS(K)     CPU(s)     Id  SI ProcessName
-------  ------    -----      -----     ------     --  -- -----------
     96       8    18752       64[24](https://github.com/containerd/containerd/actions/runs/4125687270/jobs/7126754034#step:23:25)       0.05    184   1 containerd

IgnoreCase : True
LineNumber : 4
Line       : System.Diagnostics.Process (containerd)
Filename   : InputStream
Path       : InputStream
Pattern    : containerd
Context    :
Matches    : {0}

critest.exe : The term 'critest.exe' is not recognized as the name of a cmdlet, function, script file, or operable
program. Check the spelling of the name, or if a path was included, verify that the path is correct and try again.
At D:\a\_temp\c9357b88-b470-48[31](https://github.com/containerd/containerd/actions/runs/4125687270/jobs/7126754034#step:23:32)-892f-0a3182ab57b4.ps1:11 char:1
+ critest.exe --runtime-endpoint=npipe://.//pipe//containerd-containerd ...
+ ~~~~~~~~~~~
    + CategoryInfo          : ObjectNotFound: (critest.exe:String) [], ParentContainsErrorRecordException
    + FullyQualifiedErrorId : CommandNotFoundException

@fuweid should I bump the version of go-cni? I would need a version bump (or to pick up master)

Hi @squeed The CI issue has been fixed by https://github.com/containerd/containerd/pull/8074. You can rebase it and repush.

should I bump the version of go-cni? I would need a version bump (or to pick up master)

Let's pick up master in this pr, since we just release v1.1.8 for go-cni. 😂
If there is no following change before containerd v1.7, we will file new release for go-cni and bump to it.

rebased; pulled in go-cni tip. Otherwise no changes.

@squeed please use go mod tidy to update go.sum. Thanks!

@fuweid oops, sorry about that. Fixed!

aha, I needed to make vendor


Update LVGL and fix binding for multi-instance and parallel rendering architecture changes

Fix MicroPython binding to use latest LVGL multi-instance and parallel rendering architecture changes.
Based on previous lv_conf.h configuration and feat/multi-instance branch, and LVGL's lv_conf_template.h config.

Something still does not work as expected, for example JPEG rendering shows small boxes for some JPEGs:

This JPEG is 2x2 subsampled.
Other, not subsampled JPEG image is shown without problem.

Thank you!
Do we really need to target master with this change or rather feat/parallel-rendering? Right now we use the feat/parallel-rendering branch of this repo with LVGL master.
BTW, we are looking for maintainers for the MicroPython binding. I wonder if you would be interested in it. If so I can tell more about the current topics and planned changes.

This JPEG is 2x2 subsampled.
Other, not subsampled JPEG image is shown without problem.

The current JPEG decoder is really limited. But if you can send me the original image I can check it out. Maybe it can be easily fixed .

Thank you!
Do we really need to target master with this change or rather feat/parallel-rendering? Right now we use the feat/parallel-rendering branch of this repo with LVGL master.

I've created a new PR (https://github.com/lvgl/lv_binding_micropython/pull/293), but compared to feat/multi-instance , because that contains most recent changes from LVGL.

BTW, we are looking for maintainers for the MicroPython binding. I wonder if you would be interested in it. If so I can tell more about the current topics and planned changes.

Thank you for the offer, but I'm not (embedded) C developer, I can help only with small changes/bugfixes (when I face issues in my MicroPython hobby project).
(so I can't tell confidently, that I can (want to) be a maintainer, first I want to update successfully lv_micropython repo from micropython)

This JPEG is 2x2 subsampled.
Other, not subsampled JPEG image is shown without problem.

The current JPEG decoder is really limited. But if you can send me the original image I can check it out. Maybe it can be easily fixed .

Before the parallel rendering changes the same jpeg decoder (TJPGD) has shown this baseline image correctly (with the color format fix mentioned in https://github.com/lvgl/lvgl/pull/4473 ).
I converted (with Paint.NET, see screenshot below) the image to 4:4:4, 4:4:0, 4:2:2, 4:2:0 subsamplings, and only 4:4:4 is shown in MicroPython app fully.
Here are the converted JPEG files: jpeg-subsampling-tests.zip
Convert with Paint.NET ( https://www.getpaint.net/ ):

I close this PR due to new PR is created to other branch:
https://github.com/lvgl/lv_binding_micropython/pull/293

I've fixed the JPG decoder. All work except "440", but it fails early in the decoder so I believe it wasn't working earlier either.

Thank you, I will test it.
and you are right, I think I have not used any 4:4:0 JPEG images, only 4:2:2 :)


settings: Improve user deactivation system.

Issue #18941
We currently don't have any provision for deactivating spammer signed up in the organization. We add an option of marking a user as "spammer" when deactivating the user, on top that there appears a dropdown for selecting whether you want to delete the messages of spammer or not.
Screenshots

Self-review checklist

[x]  Self-reviewed the changes for clarity and maintainability (variable names, code reuse, readability, etc.).

Communicate decisions, questions, and potential concerns.

[ ]  Explains differences from previous plans (e.g., issue description).
[ ]  Highlights technical choices and bugs encountered.
[ ]  Calls out remaining decisions and concerns.
[x]  Automated tests verify logic where appropriate.

Individual commits are ready for review (see commit discipline).

[x]  Each commit is a coherent idea.
[x]  Commit message(s) explain reasoning and motivation for changes.

Completed manual review and testing of the following:

[x]  Visual appearance of the changes.
[ ]  Responsiveness and internationalization.
[ ]  Strings and tooltips.
[x]  End-to-end functionality of buttons, interactions and flows.
[x]  Corner cases, error conditions, and easily imagined bugs.

@madrix01 looks like the self-review checklist is missing from this PR for some reason. Could you please add it back in?

@alya I have added it.

Cool, thanks! Please post screenshots as well, as indicated in the PR template.

Thanks for the screenshot!
It looks like this part of the issue is missing so far?

If the checkbox is checked, the popover expands in the following way:
a. A line that says: "Upon deactivation, this user will be renamed to "{username} (spammer)."

Also, could you please either implement the dropdown options as described in the issue, or describe why you think the changes you made are an improvement?

For future reference, any time you implement a PR differently from what's described in the issue, please make sure to carefully do the following part of the PR checklist:

Explains differences from previous plans (e.g., issue description).

@alya I'll improve the frontend changes as mentioned in the issue. I was focused on improving the backend first, as deleting large number of messages is causing browser to crash.

Thanks!
For context, it takes a bunch of extra time from my side if I have to figure out what's the same as described and what's not. If this is a draft and not ready for me to look at, that's fine of course, but please explicitly indicate that as well.

Sure, apologies for inconvenience. I would mention it well next time. Thank you!

I merged the prep commit as 4303ba1efc0fd3325cb60097819fc7535d8785b0, so that should simplify this.

@madrix01 thanks for your work on this! It's looking pretty promising; I posted a fairly complete review. I think once you've applied the changes, you can do a final QA/product review with @alya and then I expect I'll be able to merge this reasonably quickly.


Add support for client scripts to forward arbitrary events to the server

To enhance client scripts and allow them to do things like use any gesture library they wish, we should add support for forwarding arbitrary events to the server. These events should be usable by a WAMS app via both the "onX" callback attributes and addEventListener("X", listener) functions.

Closing, as this is already possible via the "dispatch" methods on the window.WAMS object (client) and Application and ServerView objects (server).


Can't find can_retry_async for RateLimitErrorRetryHandler

(Filling out the following details about bugs will help us solve your issue sooner.)
Reproducible in:
pip freeze | grep slack
python --version
sw_vers && uname -v # or `ver`

The Slack SDK version
slack-bolt==1.18.0
slack-sdk==3.21.3
Python runtime version
Python 3.11.3
OS info
ProductName:    macOS
ProductVersion: 11.6.8
BuildVersion:   20G730
Steps to reproduce:
(Share the commands to run, source code, and project settings (e.g., setup.py))

I setup a AsyncSlackRequestHandler()
However, it produces

  File ".../.venv/lib/python3.11/site-packages/slack_sdk/web/async_base_client.py", line 208, in _request
    return await _request_with_session(
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "..../.venv/lib/python3.11/site-packages/slack_sdk/web/async_internal_utils.py", line 176, in _request_with_session
    if await handler.can_retry_async(
             ^^^^^^^^^^^^^^^^^^^^^^^
AttributeError: 'RateLimitErrorRetryHandler' object has no attribute 'can_retry_async'

Expected result:
The function method to exists, as it's handled by the asynchandler itself
I think it's not calling the correct handler. I saw that this exists
class AsyncRateLimitErrorRetryHandler(AsyncRetryHandler):
Actual result:
AttributeError: 'RateLimitErrorRetryHandler' object has no attribute 'can_retry_async'
Requirements
For general questions/issues about Slack API platform or its server-side, could you submit questions at https://my.slack.com/help/requests/new instead. :bow:
Please read the Contributing guidelines and Code of Conduct before creating this issue or pull request. By submitting, you are agreeing to those rules.

oops Imported the wrong retry handlers


A.02.IR13.2.trs

This issue has been extracted from the issue list on:https://ies-svn.jrc.ec.europa.eu/issues/2685
Comment
Testability: there is no code list for temporal reference systems mandated by INSPIRE.
Proposed Change
See also MIWP-8 issue 2323.

I do not know about this one.

There should be guidance about the allowed temporal reference systems, but this requires work in the TGs first. For now, the wording has been updated to clarify the scope of the test.


.NET Core restore/build with a .csproj instead of a project.json

Hi,
We've run into an issue where we cannot build our .Net Core app in VSTS because the build definitions are looking for project.json files not the .csproj files. I have tried both the .Net Core (Preview) definition and using a command line definition.
On the documentation for the hosted pool it says the build server is deployed with both .Net Core 1.0 and 1.1 runtimes. How do I specify which runtime to use or how do I specify to look for .csproj files?
Thanks for your help,
Alex

Did .NET Core move to removing the project.json yet? All my .NET Core projects still have those.

Turns out we were using a pre-release, we've reverted to the current version for now. Cheers


Please tag your releases

As far as I can see you guys are pushing images up to Docker hub without tagging the corresponding git rev here. That makes it impossible to know what rev any image came from.

@jeremyjjbrown I guess you are looking for https://github.com/docker/distribution/releases
This here is just a commodity wrapper to produce a slick(er) image.


Fix log and log2 functions

Closes #340

[x] I have updated CHANGELOG.md
[x] I have added tests to demonstrate the contribution is correctly implemented: this usually includes both positive and negative tests, showing the happy path(s) and featuring intentionally broken cases
[x] I have run all the tests locally and no test failure was reported
[x] I did not do unrelated and/or undiscussed refactorings

@anton-trunov I've also decided to add error-throwing into log2 function for case with num = 0, because TVM doesn't throw in this case.


Assign bot - weird behavior after closing PR

check what happened here:

https://github.com/kodadot/nft-gallery/issues/3867

solution needs to be added for PR-edited webhook, it seems that bot has trouble figuring out what to do after devs link issue post-opening PR.


Support --from-file to allow reading repos from a text file

When working with hundreds of repositories it would be helpful to be able to pass repos from a text file rather than having X args.
Current usage
npx @octoherd/cli -R octoherd/repo-a octoherd/repo-b octoherd/repo-c

Proposal
npx @octoherd/cli --from-file ./repo-list.txt

repo-list.txt
octoherd/repo-a
octoherd/repo-b
octoherd/repo-c

To make working with the text file a breeze, lines starting with // or # will be ignored. I'm more than happy to submit a pull request for it if you think that would be a useful feature to have.

I would prefer to support piping, as in
cat repo-list.txt | npx @octoherd/cli

that would make it more flexible. But I haven't worked on a CLI that accepts piping yet and I'm not aware of best practices. Would it be something you'd be interested to work on yourself?

Sure, Octoherd saved me a few hours of work so more than happy to contribute back.

Yay, glad to hear that it's useful :)


Update The Glimmering Realm v1.0.2

uh, you don't have to PR your changes into 2 seperate pull requests, with the 2nd one only containing version number and sha change

It also contains a link change, at the end.

But thanks for the reminder, I forgot changing version number.


netstandard2.0 release

Could you please release the latest version to NuGet, so it is netstandard2.0 compatible? Thank you.

Hello @nemad, We aren't at a point yet that we are confident to release the latest version to the general public yet as the latest codebase is still being tested. We may have a pre-release package available soon however, would that be something you would be interested?>

Hello @Psypher9 , thank you very much for the quick reply. I'm currently developing a feature and I wanted to use this package in production, so I guess I need to implement my own client for now.

@nemad, which API were you trying to target?

Do you already have a package to test?

@xperiandri We do not have a public package to test yet, but you should be able to package locally and test that way.

Hello! My team is in the process of migrating to netstandard. We were able to build and reference the latest package locally! Thank you so much for the guidance!
We use custom properties in HubSpot. What is the recommended way to handle custom properties following the merge of #54?

Hello, what is the status of this one year on? I see there still isn't a pre-release package available yet. Is that likely to come soon?


Bugfix: remember selected badge and level on overview page

From old repo

@sberlin unused method is removed !


SDK for 2023-01-01 version

Contributing to the Azure SDK
Please see our CONTRIBUTING.md if you are not familiar with contributing to this repository or have questions.
For specific information about pull request etiquette and best practices, see this section.

@cvarsh please submit .NET SDK PR to https://github.com/Azure/azure-sdk-for-net.  This repo is for preview the SDKs from API SPEC changes.


A question about String.prototype.match

Version
chakra-1_11_22
Test case
RegExp.prototype.exec=()=>{
    print('run here');
    return null;
};
print(String.prototype.match());

Execution steps
./ChakraCore/out/Debug/ch testcase.js

Output

Expected behavior
run here
null

Description
When executing this test case, other engines (such as v8, spiderMonkey, JavaScriptCore, etc.) seemed to associate it with RegExp.prototype.exec when calling the String.prototype.match method, but chakra did not do so. May I know what is the reason?

Overwritten versions of RegExp.prototype.exec is not currently invoked when it should be this is one of the points discussed in this existing issue: https://github.com/microsoft/ChakraCore/issues/6390


[AutoPR datafactory/resource-manager] [DataFactory] validation activity

Created to sync https://github.com/Azure/azure-rest-api-specs/pull/5473

This PR has been merged into https://github.com/Azure/azure-sdk-for-go/pull/4444


[BUG] Illumination is shuttered during background correction

Illumination is shuttered between channels during background correction, which can cause problems if the camera and shutter are not well coordinated. It will be better is the light is turn on at the beginning of collecting background images, left on between channels, and turn off at the end, like we do during data acquisition.

The current implementation uses MM's snap image API to acquire background, while data acquisition uses MDA. I don't know if our current workflow involving turning off/on Live Mode can be reimplemented with only MM Core calls. Or do you think we should use MDA for background?

Ah, I see. In that case, we can disable autoshutter and turn on the illumination at the beginning of BG correction. After a few snaps, we can reset the illumination and autoshutter to their previous state (e.g. leave lights on if that's how we found them)

I agree @ieivanov. I think we should start controlling the shutter from recOrder's background acquisition.
Re background capture in 1.0.0 --- I've opened a separate issue #240.

we can disable autoshutter and turn on the illumination at the beginning of BG correction

I tried this and it seems like MM's 'Snap' button will still turn off/on the light (on Automaton). Also I think this is what the current implementation is trying to do:
https://github.com/mehta-lab/recOrder/blob/dc15b8a5e246deaa030b05ea0ab8a0e6523e1c45/recOrder/calib/Calibration.py#L1150-L1152
@ieivanov Any idea about how to work around this?

Hm, the code does seem to be written to do the right thing. It's strange that the shutters still close. I'll look at this in more detail on automaton.


Added snippet for Javascript notification.

✅ Added snippet explaining the use of Javascript notification API to request for notification permission and send notifications to the client device.
➕ Do let me know if you want me to make any changes to the submitted snippet.

@ArnavGuptaaa There is a typo in line 16 (word "default")

✅ Fixed Typo.
Thank you @lwindolf

Thanks for the contribution, but this is a topic I'm already writing a post on that explains it in much more detail.


Server blacklist and Bittensor version fix

Correctly returns unauthenticated errors due to blacklisting
updates bittensor versioning such that higher versions such (4.11.0) are permitted by design.
Remove legacy signature

closes the pr in favour of #1240


[Tensor/trivial] Erase redundant code

While inspecting potential bugs from Tensor, found some redundant code block
Erase repeatedly called code block

Self evaluation:

Build test:     [X]Passed [ ]Failed [ ]Skipped
Run test:     [X]Passed [ ]Failed [ ]Skipped

:memo: TAOS-CI Version: 1.5.20200925. Thank you for submitting PR #2303. Please a submit 1commit/1PR (one commit per one PR) policy to get comments quickly from reviewers. Your PR must pass all verificiation processes of cibot before starting a review process from reviewers. If you are new member to join this project, please read manuals in documentation folder and wiki page. In order to monitor a progress status of your PR in more detail, visit http://ci.nnstreamer.ai/.


Updated tags.json for improved readability and formatted spacing.

@sagarvd01 Thank you for your contribution! I'd like to close this PR because tags.json is a generated file, hence, changes to the formatting of the output should be made to the generation mechanism.


Create the windows_firewall_profile resource for use with enabling/disabling and configuring the Windows firewall Domain, Private, and Public profiles

Signed-off-by: Davin Taddeo<EMAIL_ADDRESS>
Description

Added the windows_firewall_profile resource with the :enable and :disable actions to allow you to enable Windows firewall profiles as well as modify specific settings for those profiles.  It can be used as so:
Using the :enable action with some of the configuration options with the Private firewall profile
windows_firewall_profile 'Private' do
  default_inbound_block 'True'
  default_outbound_allow 'True'
  allow_inbound_rules 'True'
  display_notification 'False'
  action :enable
end

Using the :enable action with some of the configuration options with the Public firewall profile
windows_firewall_profile 'Public' do
  default_inbound_block 'True'
  default_outbound_allow 'True'
  allow_inbound_rules 'False'
  display_notification 'False'
  action :enable
end

Using the :disable action against the Domain firewall profile
windows_firewall_profile 'Disable Windows Firewall Domain Profile' do
  profile 'Domain'
  action :disable
end

Related Issue

Types of changes

[ ] Bug fix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)
[ ] Chore (non-breaking change that does not add functionality or fix an issue)

Checklist:

[x] I have read the CONTRIBUTING document.
[ ] I have run the pre-merge tests locally and they pass.
[x] I have updated the documentation accordingly.
[x] I have added tests to cover my changes.
[ ] All new and existing tests passed.
[x] All commits have been signed-off for the Developer Certificate of Origin.

Is there a reason to not use nil for the not-configured state instead of "NotConfigured"? That seems to be the convention for the "user didn't specify a value so they get the default behavior" case.

Is there a reason to not use nil for the not-configured state instead of "NotConfigured"? That seems to be the convention for the "user didn't specify a value so they get the default behavior" case.

This is a tricky one for me @phiggins. It's because "NotConfigured" is an actual state in the Set-NetFirewallProfile cmdlet.  I've tried to use this with nil, but if I translate "NotConfigured" to nil and I don't specify nil as an acceptable property type, the load_current_value spazzes out on me.  If I do make nil a property type, It makes my logic in building my Set-NetFirewallProfile powershell command annoyingly impossible.
I can keep trying to play around with it more, and put some complexity into the load_current_value bit, so that if it's not used it doesn't try to set a value.  I just don't know a good way to set up the logic to build the powershell cmd where it can distinguish between a nil value where the user doesn't want to change whatever the current value is, and someone wanting to force the settings back to defaults for that profile.

nil should mean "leave whatever you find along because the user didn't care"
if the user omitting default_inbound_block from the resource means that a true or false value MUST be changed to "NotConfigured" then the resource is written correctly right now.
if the user omitting default_inbound_block should mean that any setting of that which is found in the current_value should be preserved, then you need to do some nil handling -- at least you'd need to make the property nillable and nil by default, and then preserve "NotConfigured" as an explicit option.
knowing exactly zero about the domain I can't tell you which to pick, but those are sort of the choices.

This is a tricky one for me @phiggins. It's because "NotConfigured" is an actual state in the Set-NetFirewallProfile cmdlet.

Ok, that makes a lot more sense. I thought we were dealing with 3 states but its actually 4, so keeping things as-is seems fine.

I think we're at the point where this is in a good state to get it in the hands of folks that can tell us if anything is mising. Thanks for putting this together @chef-davin


Delete md2.h

Stop supporting MD2,  which is even worse and used less than MD5

That's an OpenSSL header, SoftEther VPN doesn't use MD2.

Anyway, @davidebeatrici , if those headers are not used, maybe just delete them ? Or find some better way, chocolatey maybe, to get openssl

My intention was to add the OpenSSL repository as submodule and build it, back when I created our CMake project.
The issue is that OpenSSL doesn't use CMake: https://github.com/openssl/openssl/issues/4345
I would add the LibreSSL repository (which uses CMake) as submodule and build it when OpenSSL (or LibreSSL) is not found on the system.

occasionely it might improve our compatibility with LibreSSL :)

Yes, we can add a CI build that compiles and links to LibreSSL.

we already use LibreSSL in CI builds
https://github.com/SoftEtherVPN/SoftEtherVPN/blob/master/.travis.yml#L37
and it did help us catch some memory leak as I remember.
but adding LibreSSL for Windows (and possibly CI for windows libressl builds) also is good

Indeed.


Add pod index label docs for KEP-4017

The purpose of these changes are to add documentation for the new pod index label being added for StatefulSets and Indexed Jobs (see KEP-4017).
cc @ahg-g @alculquicondor @soltysh

/sig apps

LGTM as job approver

Changes since https://github.com/kubernetes/website/pull/42059#issuecomment-1644066308 are trivial
LGTM
/hold
Doesn't this need to target the dev-1.28 branch though (I hadn't spotted that before)?

Resolved merge conflicts with dev-1.28 branch.

Oh jeez, after I changed the target to dev-1.28 and resolved the merge conflict somehow hundreds of unrelated commits are included on this PR...

Copied over the approved changes into a new PR targeting dev-1.28: https://github.com/kubernetes/website/pull/42139 @sftim  @alculquicondor
Closing this PR now.


Auto imported components are not typed

Environment

Nuxi: 3.4.2
Operating System: Linux
Node Version:     v18.14.0
Nuxt Version:     3.4.0
Nitro Version:    2.3.3
Package Manager<EMAIL_ADDRESS>Builder:          vite
User Config:      build, css, head, components, loading, modules, plugins, runtimeConfig, ssr, telemetry, typescript, vuetify, serverHandlers, devServerHandlers, devServer, bridge, buildModules
Runtime Modules<EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS>Build Modules<EMAIL_ADDRESS>
Reproduction
I add this line in my nuxt.config.ts:
components: true,

Describe the bug
After this, auto-imports works in the app but not the typing (it's always any on all auto imported components)
Additional context
No response
Logs
No response

Are you using Bridge or Nuxt 3? Do you have Volar installed?

I'm using Volar and also volar as ts server.
Also, I have a Nuxt 3 Project where the typing is OK.
But, here, my problem is in a Nuxt Bridge project

this should be resolved in latest edge release via https://github.com/nuxt/bridge/pull/758


Tt/ci

Codecov Report

:exclamation: No coverage uploaded for pull request base (main@e14d57a). Click here to learn what that means.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main       #2   +/-   ##
=======================================
  Coverage        ?   50.76%
=======================================
  Files           ?       87
  Lines           ?     1245
  Branches        ?      240
=======================================
  Hits            ?      632
  Misses          ?      613
  Partials        ?        0

Flag
Coverage Δ

jest
50.76% <0.00%> (?)

Flags with carried forward coverage won't be shown. Click here to find out more.

Continue to review full report at Codecov.

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


clientv3/integration: fix TestSetEndpointAndPut dial tests

Fix https://github.com/coreos/etcd/issues/8859.

This needs rework after https://github.com/grpc/grpc-go/pull/1844 is merged.


Filter categories

Currently filters are applied during parsing. When parsing part of the AST, we check if the node passes the config's filters. Transitive deps are handled using the ignoreFilters flag, because if A passes the filters, and depends on B, B should be included even if it doesn't pass the filters.
This works ok, but it's a bit complicated, and it means we need stuff like _CreateTypeFromCursorResult (see comments on that class). It's also problematic for categories, where the dependency arrow is backwards.
Categories are basically extension methods, so if A is an extension of B it should only be included if B is. But in the AST, A points to B. So the ignoreFilters approach won't work (if B is included later, how will we know we need to reprocess A?).
A more robust approach would be to just parse everything, and then apply the filters afterwards (though this might have a performance impact for huge imports).

Blocked on https://github.com/dart-lang/native/issues/1259. Once I've implemented transformers, I'll overhaul how categories are implemented.

Note to self:

Promote categories to an AST object (similar to ObjCProtocol), instead of just adding their methods to their interface
Code gen them as extension methods on the interface (test the case where the interface is defined in package:objective_c)
Add DeclarationFilters in the config for objc-categories
If everything goes well, there should be no code changes in the existing category test

One unfortunate thing I've noticed is that there are a bunch of methods that the Apple documentation treats as ordinary methods, but are actually methods on a category.
For example NSString only actually has a few core methods like length and characterAtIndex:. Most of the methods in the Apple documentation (eg searching, converting, encoding etc) are actually part of the NSStringExtensionMethods category, which isn't mentioned anywhere.
When users are missing method, they're going to have to include: .* all categories, search for the method they want, find the category its part of, then include that category, which is pretty inconvenient. It's also going to be confusing for new users.
Maybe we need an include-transitive-categories option?

Code gen them as extension methods on the interface

This doesn't always work. If the method returns instancetype, then I can code gen it as an extension method that returns the interface, but then it will have the wrong return type when used on a subtype of the interface.
For example, NSData.dataWithBytes:length: is defined in the NSDataCreation category and returns instancetype. So when you invoke it on a NSMutableData it's supposed to return an NSMutableData. But if I code gen it as an extension method then it'll always return NSData.
I think the fix is to copy category methods that return instancetype to the interface (unless that interface is defined in package:objective_c).

Maybe we need an include-transitive-categories option that defaults to true? This option would include all categories that extend an included class.

If we're changing Obj-C generation to not auto-include all types in methods, I think this would be fine. That would still avoid the problem of 'include any view'->'include NSView'->'include all NSView extensions'->'include every type, transitively, reachable from any extension of NSView' that led to the crazy bloat I hit above.


Feature/cloud

Added both an azure and aws mode. They basically reserve the same number of IPs in a subnet but AWS has a smaller subnet restriction of /27 vs Azure of /28.
You'd obviously  thought about this so I just built the functionality around what you had already started to develop.
To test the clipboard.writeText feature  I had to test with HTTPs so add documentation and commands for that.
Closes #5

@byroncollins At first glance of the code this looks really good. I'll dive into this later this week as I'm starting a new job tomorrow (Monday). Expect it to be merged by the end of the week. PR is much appreciated.

Hi @byroncollins,
I like where this is going, and I have some feedback. First, do you want to make these adjustments, or do you want me to merge this PR into a feature branch and begin working there?

I think we need to change how the selection works. I'm thinking maybe a subsection under the Tools menu with a divider? Looking at the design tenets we want to keep it simple for first time users, and this is more of an advanced feature, so I think should NOT be an always-visible UI element.
Most people will choose the mode after they've already started splitting subnets, so we need to add some logic to re-calculate the values when the mode changes. We can block selecting the mode if any of the subnets are incompatible with the cloud provider (like a /30). I've been wanting to add a feature to support switching the top level network address and cascading that to all the split subnets, this could be related. For example moving <IP_ADDRESS>/16 -> <IP_ADDRESS>/16 but keeping all the splits/notes/colors the same.
We should add a mouse-over popup to the Usable IPs header that indicates the mode and when moused-over explains the reserved addresses by cloud. For example "Usable IPs (AWS)" where AWS is a mouseover which would show the 5 reserved addresses in each network.

Thoughts? I'm happy to accept your changes as-is and build upon them, or have you do some revisions.

Hi @byroncollins,
I like where this is going, and I have some feedback. First, do you want to make these adjustments, or do you want me to merge this PR into a feature branch and begin working there?
* I think we need to change how the selection works. I'm thinking maybe a subsection under the Tools menu with a divider? Looking at the design tenets we want to keep it simple for first time users, and this is more of an advanced feature, so I think should NOT be an always-visible UI element.

* Most people will choose the mode after they've already started splitting subnets, so we need to add some logic to re-calculate the values when the mode changes. We can block selecting the mode if any of the subnets are incompatible with the cloud provider (like a /30). I've been wanting to add a feature to support switching the top level network address and cascading that to all the split subnets, this could be related. For example moving <IP_ADDRESS>/16 -> <IP_ADDRESS>/16 but keeping all the splits/notes/colors the same.

* We should add a mouse-over popup to the Usable IPs header that indicates the mode and when moused-over explains the reserved addresses by cloud. For example "Usable IPs (AWS)" where AWS is a mouseover which would show the 5 reserved addresses in each network.

Thoughts? I'm happy to accept your changes as-is and build upon them, or have you do some revisions.

Hi @ckabalan
I'm happy to take your steer on this and also your feedback around design.
It's fine by me If you want to merge this PR into a feature branch to continue to work,  whatever you think is best. I'm also happy to work on the adjustments together, as you have suggested.
Cheers
Byron

@byroncollins I'll merge it into a new feature branch and get to work. Will keep communicating here until we're live.


chore(travis): update sauce-connect

Any particular reason for this update? Just for testing?

I saw that message from SauceConnect that there is a newer version available and I thought it might make it less flaky. (It doesn't seem to be the case - I had to restart a couple of jobs to get this to pass :smile:)


It's better to append 'Force Undelete' to each skipped undelete activity log

Storage Explorer Version: 1.12.0
Build: 20200228.6
Branch: dev/chuye/beta-blob-extension
Platform/OS: Windows 10/ Linux Ubuntu 16.04
Architecture: ia32/x64
Regression From: Not a regression
Steps to reproduce:

Select one non-ADLS Gen2 storage account -> Blob Containers (Make sure soft delete is enabled).
Expand Blob Containers -> Select one blob container that contains more than one blob.
Delete the blob container -> Switch to 'Active and deleted blobs' view.
Select the deleted blob container and right click it -> Select Undelete -> (Undelete by Date...).
Click 'Undelete' button -> Expand the activity log.
Check whether there shows 'Force Undelete' to each skipped undelete activity log.

Expect Experience:
Show 'Force Undelete' to each skipped undelete activity log.

Actual Experience:
It doesn't show 'Force Undelete' to each skipped undelete activity log.

I intentionally put it on the group activity since the children activity are supposed to be used as information only elements.


[Feature Request] Make hidden breakpoints match tailwind breakpoints

Usage example, including component, action, motion, or utility API
Hello, I suggest setting hidden breakpoints to match tailwind (and windi) breakpoints. This would result in more familiar api. So instead of
breakpoints: {
        xs: 576,
        sm: 768,
        md: 992,
        lg: 1200,
        xl: 1400
    }

maybe it would be worth having
breakpoints: {
      'sm': '640px',
      'md': '768px',
      'lg': '1024px',
      'xl': '1280px',
      '2xl': '1536px',
}

Alternatively it would be nice if we could set breakpoints px values.
Possible implementation - describe how the feature can be implemented
Simple change of values, super easy, barely an inconvenience.
Do you want to contribute this feature and create a pull request
Yes

I'm open to the idea of extending the breakpoint's to include Tailwind's. I don't want to remove the ones currently implemented though.
breakpoints: {
      …previous_breakpoints
      'smTW': '640px',
      'mdTW': '768px',
      'lgTW': '1024px',
      'xlTW': '1280px',
      '2xlTW': '1536px',
}

If you think it won't be confusing then it might be good compromise.

Actually I think a better alternative would be adding those through your own config. Currently that isn't possible, but it will be soon.