Simplify sf::Sprite implementation and reduce branches

Few various improvements:

Initialize data members on construction, rather than default-constructing them and then assigning
Remove unnecessary branches during construction
Define simpler constructor via delegation
Merge updatePositions and updateTexCoords in the same function, as they're always called together
Remove unnecessary use of auto
Remove redundant comment

Pull Request Test Coverage Report for Build<PHONE_NUMBER>
Details

6 of 6 (100.0%)  changed or added relevant lines in 1 file are covered.
1 unchanged line in 1 file lost coverage.
Overall coverage decreased (-0.03%) to 55.733%

Files with Coverage Reduction
New Missed Lines
%

src/SFML/Graphics/Sprite.cpp
1
91.95%

Totals

Change from base Build<PHONE_NUMBER>:
-0.03%

Covered Lines:
11576

Relevant Lines:
19663

💛  - Coveralls

SFMLBuildMaster: Build this please.

SFMLBuildMaster: Build this please.

SFMLBuildMaster: Build this please.

Pull Request Test Coverage Report for Build<PHONE_NUMBER>
Warning: This coverage report may be inaccurate.
This pull request's base commit is no longer the HEAD commit of its target branch. This means it includes changes from outside the original pull request, including, potentially, unrelated coverage changes.

For more information on this, see Tracking coverage changes with pull request builds.
To avoid this issue with future PRs, see these Recommended CI Configurations.
For a quick fix, rebase this PR at GitHub. Your next report should be accurate.

Details

25 of 26 (96.15%)  changed or added relevant lines in 1 file are covered.
1 unchanged line in 1 file lost coverage.
Overall coverage decreased (-0.002%) to 55.754%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

src/SFML/Graphics/Sprite.cpp
25
26
96.15%

Files with Coverage Reduction
New Missed Lines
%

src/SFML/Graphics/Sprite.cpp
1
92.45%

Totals

Change from base Build<PHONE_NUMBER>:
-0.002%

Covered Lines:
11565

Relevant Lines:
19668

💛  - Coveralls

SFMLBuildMaster: Build this please.

Pull Request Test Coverage Report for Build<PHONE_NUMBER>
Warning: This coverage report may be inaccurate.
This pull request's base commit is no longer the HEAD commit of its target branch. This means it includes changes from outside the original pull request, including, potentially, unrelated coverage changes.

For more information on this, see Tracking coverage changes with pull request builds.
To avoid this issue with future PRs, see these Recommended CI Configurations.
For a quick fix, rebase this PR at GitHub. Your next report should be accurate.

Details

23 of 24 (95.83%)  changed or added relevant lines in 1 file are covered.
1 unchanged line in 1 file lost coverage.
Overall coverage decreased (-0.03%) to 55.7%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

src/SFML/Graphics/Sprite.cpp
23
24
95.83%

Files with Coverage Reduction
New Missed Lines
%

src/SFML/Graphics/Sprite.cpp
1
90.91%

Totals

Change from base Build<PHONE_NUMBER>:
-0.03%

Covered Lines:
11556

Relevant Lines:
19667

💛  - Coveralls


 To be clear, it's a pretty ugly hack. But there's some history behind it. The idea is based on https://github.com/collectiveidea/delayed_job/issues/477#issuecomment-800341818. I've used this technique in several production apps to silence the Delayed::Job log noise. I did a fair bit of digging before I put it in my apps and couldn't find anything better. I'm not sure there's any other solution besides just turning down the log level globally.
I'm currently running my fork of rails_autoscale_agent in production and things look ok.
I realize this isn't a complete solution. The Que adapter probably has similar log noise. Maybe we want to put this behind a Config.instance.quiet? check? But if this looks like a good direction to go, I'm happy to help refactor and get this PR over the finish line.

Hi @adamlogic I've tested this latest change in my app and it's working. Not sure if the way I did the conditional with select_rows_silently is the cleanest? But it should be safe.
I'm happy to help add this to the Que adapter, clean up, and add test coverage if this looks like the right direction to go.

I like your implementation here. 👍 That would be great if you're able to carry this through. Thanks!

@adamlogic This is ready for another look.

I added to the Que adapter
I fixed a few deprecation warnings (but not all - see commit) we can pull that commit if it's not helpful
I looked into tests, but didn't find anything that felt meaningful. By default ::ActiveRecord::Base.logger is nil, so we would have to create a logger that responded to silence, give it to ActiveRecord and then check that silence was called. This feels like "is implemented as" vs testing true behavior.


On heroku server content isn't updating

Hi, thanks for this project.
I have a question re deployment.  I have changed the moltin account details to mine, set up my own categories and added other content and redesigned to fit my needs.  Running locally, everything runs great.  Once I deploy to heroku, all of the content from Moltin gets replaced with the lamp store's account.  Any tips on re-caching and deploying?

Hey @andrewNB
See https://forum.moltin.com/t/deploy-version-showing-demo-products/1156/4
I imagine this is the same issue and that it is you also posting there 😜


signature with public key - clarification

"while the kid claim indicates the particular public key that was used to sign the token". Isn't a signature done with private key? Why public key?

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

ID: 2471c08b-befe-8e1a-df08-f13e116c231e
Version Independent ID: 0d827d33-2906-6352-9398-13863def9354
Content: Azure Active Directory access tokens reference
Content Source: articles/active-directory/develop/access-tokens.md
Service: active-directory
Sub-service: develop
GitHub Login: @CelesteDG
Microsoft Alias: celested

@smoms Thank you for your query. We will have this investigated and update further.

Generally in case of any STS , it has a key pair which is generated the private key is used by the STS service and the public key is used by the application/user to validate the tokens given out by the STS service. The corresponding key from the key pair needs to be used to validate the token as the one which was used to generate it . During token generation the private key is the one which is used to sign the token . The application on the other hand will use the public key of the STS to validate the signature associated with the JWT token. It will use the kid to find the unique identity of the certificate and use teh corresponding public key .  I am engaging the content author to verify this with engineering further.
@CelesteDG Could you please get this verified by engineering further.

Flagging @hpsin to review the question and response and evaluate if we need to get our content updated.

#pri2

Valid typo callout. The private key is used to sign, the public key is used to validate.


Adds support for spree static content

Adds support for CMS driven pages from Spree admin using  Spree Static Content.

[x] Add spree_static_content

[x] Add spree_static_content 2-4-stable to Gemfile
[x] Add spree_static_content as a dependency

[x] Add API support

[x] Create pages controller with show action
[x] Create views in rabl for show action

[ ] Add routes, namespace it under api, only show
[x] Add angular to render the pages API

[x]  Create angular pages controller
[x]  Create template show
[x]  Add angular routes

[x] Add require to application.js on installer
[ ] Test it out

@bryanmtl - This is good to go.

Nice work @anonyo! Would you mind updating the Readme/Wiki with instructions on how this works?

Thank you @bryanmtl - will do!

@anonyo @bryanmtl What you think about putting this into its own gem "sprangular_static_content" (which will depend on spree_static_content)?

@joshnuss That's a nice idea. Could you work with @anonyo on that?

That's a good idea @joshnuss - I'll start working on that, let me know if you have any thoughts or ideas.

Cool,
Theres some info here: https://github.com/DynamoMTL/sprangular/wiki/Sprangular-extensions-gems
@anonyo feel free to adjust the wiki, (youre the first person to create a gem).

If we're going to start adding extensions, is it time to set up a separate Sprangular organization?

Dyna Sprangular?

I'd just go with Sprangular.

Lower-case "sprangular" IMO.

Also, might want to consider supporting markdown for the page body. Either server side or client side.

@joshnuss Using this on Glossier and it works super well :
https://github.com/Hypercubed/angular-marked

Thanks @simonwalsh

Sounds good @joshnuss

This has been replaced by sprangular_static_content gem.


feat: make error public access on failed receipt

Pull Request Test Coverage Report for Build<PHONE_NUMBER>1
Details

0 of 3 (0.0%)  changed or added relevant lines in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage decreased (-0.2%) to 80.541%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

tap_core/src/receipt/received_receipt.rs
0
3
0.0%

Totals

Change from base Build<PHONE_NUMBER>9:
-0.2%

Covered Lines:
923

Relevant Lines:
1146

💛  - Coveralls


MudTable.SetEditingItem(object item) not working!!

Bug type
Component
Component name
MudTable
What happened?
private void AddNewElement()
{
var item=new Element() {Name = "000..."};
((List)Elements).Insert(0,item );
editEvents.Add("New element added");
table.SetEditingItem(item);
StateHasChanged();
}

Expected behavior
add new row and enable edit mode.
Reproduction link
https://try.mudblazor.com/snippet/wuQGEdlKlvTdJkiD
Reproduction steps

click Add button
not working
remove  table.SetEditingItem(item);
it's ok, but not enable edit mode

Relevant log output
No response
Version (bug)
6.0.7
Version (working)
No response
What browsers are you seeing the problem on?
Chrome
On what operating system are you experiencing the issue?
Windows
Pull Request

[ ] I would like to do a Pull Request

Code of Conduct

[X] I agree to follow this project's Code of Conduct

I'm experiencing the same issue.

I hit a similar issue, but for me it was overwriting my element after the first one. I found out that it only happens when a reference to my parent object is present.
This class experiences the bug
public class MyEntity : BaseEntity
    {
        [JsonIgnore]
        public virtual ParentEntity? Parent { get; set; }

        [JsonIgnore]
        public Guid ParentId { get; set; }

        [MinLength(3, ErrorMessage = "Name must consist of at least {1} characters!")]
        public string? Name { get; set; }
    }

This one does not
public class MyEntity : BaseEntity
    {
        //[JsonIgnore]
        //public virtual ParentEntity? Parent { get; set; }

        //[JsonIgnore]
        //public Guid ParentId { get; set; }

        [MinLength(3, ErrorMessage = "Name must consist of at least {1} characters!")]
        public string? Name { get; set; }
    }


[ISSUE #4830] Generate LICENSE and NOTICE with Gradle tasks

Fixes #4830
Motivation
As is discussed in https://github.com/apache/eventmesh/issues/4720, the LICENSE and NOTICE files of the EventMesh binary distribution release need to be maintained manually, and for a long time the contents of the files were incomplete and not updated in time when artifacts were introduced or updated.
Following the suggestion in https://github.com/apache/eventmesh/issues/4720#issuecomment-2049549853, I implemented generateDistLicense task that automatically generates the LICENSE file and licenses/ directory, and generateDistNotice task that automatically generates the NOTICE file.
They can be run manually, or automatically when the dist task is executed. After https://github.com/apache/eventmesh/pull/4719 is merged, I'll specify the generateDistLicense task and the generateDistNotice task as dependencies of the dist task.
The licenses generated by the generateDistLicense task are named after the license name, e.g. Apache-2.0.txt, which  conforms to ASF regulations. I can also modify it to be named after an artifact, e.g. log4j-core 2.22.1 Apache-2.0.txt. Please let me know if you want to do like that.
Modifications

Add the generateDistLicense task and the generateDistNotice task.
Excessive mavenLocal() was removed according to https://docs.gradle.org/current/userguide/declaring_repositories.html#sub:maven_local

Update:
Now executing the dist task automatically generates the LICENSE and NOTICE files and automatically packages them.
Incompatible artifacts will be printed on screen. Release Manager must remove these artifacts from classpath, remove their license files from licenses dir, and tell users to manually download them.
Documentation

Does this pull request introduce a new feature? (yes)
If yes, how is the feature documented? (JavaDocs)

@xwm1992
This PR has completed the https://github.com/apache/eventmesh/pull/4719#discussion_r1570135028 follow-up and is ready to be merged.
Now executing the dist task automatically generates the LICENSE and NOTICE files and automatically packages them.
Incompatible artifacts will be printed on screen. Release Manager must remove these artifacts from classpath, remove their license files from licenses dir, and tell users to manually download them.

checkDeniedLicense task done (c.f. https://github.com/apache/eventmesh/pull/4827#issuecomment-2075353305).
@xwm1992 checkDeniedLicense task depends on generateDistLicense task of this PR. To enable it, please merge this PR first, then I will add it into CI in https://github.com/apache/eventmesh/pull/4827.


make default VERSION and IMAGE_TAG the same

This passes the same options for the default value of VERSION and IMAGE_TAG. This ensures that the version the image is tagged with is the same as the version that the nomos binary is built with. This disparity was leading to a test failure when the HEAD commit has a tag.
This change does not alter the release functionality, since the release flows pass in a value rather than relying on the default.

/lgtm

/assign @nan-yu


Siac documentation

This pull request is entirely documentation. Fixed a few of the on line help descriptions, and wrote a readme which documents nearly every siac command.

Needs a rebase

rebased

thanks!


Fix typo

Issue #, if available:
Description of changes:
Changed "serach" to "search"
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

thanks for submitting this.  it has been fixed through a separate update.


Fix MPMCQ crash

We were using one bit too many for the ABA counter.
Closes #1319.

Going to merge this without waiting for Travis because it's a high-priority bug and isn't likely to have any differences between windows success and unix success.

Thanks for investigating and solving quickly.
And thanks to @malthe for reporting the original issue in IRC!


docs(ngModel.NgModelController): fix mistake in example

The bodies of resolved and rejected callbacks were in wrong order.

I signed it!

I don't think this change is valid.
If the API call results in a normal response (no error), it means that the user exists (i.e. could be retrieved) and thus the validator should fail. If there is an error (e.g. the user was not found), then the validator succeeds, because the username is available.
Thx for taking the time to submit a PR, though :+1:

Oops, that's true. Sorry for carelessness.


undefined reference to `google::protobuf::internal::fixed_address_empty_string'

Hello,
I am tring to do install core of tensorflow on Raspberry PI 3, on Ubuntu 16.04 LTS using python 3.5.2, exactly following the instruction on https://github.com/tensorflow/tensorflow/tree/master/tensorflow/contrib/makefile, but got error messages at last step "make -f tensorflow/contrib/makefile/Makefile HOST_OS=PI TARGET=PI OPTFLAGS="-Os" CXX=g++-4.8".
Note that I tried the method shared on  https://github.com/samjabrahams/tensorflow-on-raspberry-pi, but there are also error occured.
I am wondering is it due to some update of tensorflow? Looking forward to your reply. Thank you!

cc @samjabrahams who made TF work on PI

Thanks @yaroslavb - I haven't seen the "undefined reference to ...protobuf..." error before. Generally, the error code 1 messages I've seen were due to an out of memory error, though that doesn't seem likely to be the case here. Currently at a super bowl party, but I'll try to take a closer look soon.

This appears to be a duplicate of #5684. @fangyan93 - it may be good to move the discussion over there.
As an aside, you mentioned that you experienced a bug following the instructions on my repo. If you have the time, would you mind opening up an issue over there with a few details so I can investigate that problem separately?

Closing as a duplicate per @samjabrahams's comment.


smoove.cwl error: "Failed to open -: unknown file type"

Good day!
I keep trying to run germline_wgs.cwl with BAMs and references from example_data/exome_workflow from repository (I had to add some files and values). But it failed with error:
 [job run_smoove] Skipping Docker software container '--memory' limit despite presence of ResourceRequirement with ramMin and/or ramMax setting. Consider running with --strict-memory-limit for increased portability assurance.
INFO [job run_smoove] /home/bio/serge/analysis-workflows_TATAHIN_FORK/results/05122019_3/Temp/l3aef3eb$ docker \
    run \
    -i \
    --volume=/home/bio/serge/analysis-workflows_TATAHIN_FORK/results/05122019_3/Temp/l3aef3eb:/RJsOtd:rw \
    --volume=/tmp/qcvuiv0a:/tmp:rw \
    --volume=/home/bio/serge/analysis-workflows_TATAHIN_FORK/results/05122019_3/Temp/27qxdb0a/final.bam:/var/lib/cwl/stga84ed033-02ba-4316-9104-711b03107983/final.bam:ro \
    --volume=/home/bio/serge/analysis-workflows_TATAHIN_FORK/results/05122019_3/Temp/5qcp_6ca/final.bam.bai:/var/lib/cwl/stga84ed033-02ba-4316-9104-711b03107983/final.bam.bai:ro \
    --volume=/home/bio/serge/analysis-workflows_TATAHIN_FORK/results/05122019_3/Temp/5qcp_6ca/final.bai:/var/lib/cwl/stga84ed033-02ba-4316-9104-711b03107983/final.bai:ro \
    --volume=/home/bio/serge/analysis-workflows_TATAHIN_FORK/example_data/exome_workflow/chr17_test.fa:/var/lib/cwl/stg8e064cc4-5d8a-48e7-ba03-9ebda8c10492/chr17_test.fa:ro \
    --volume=/home/bio/serge/analysis-workflows_TATAHIN_FORK/example_data/exome_workflow/chr17_test.fa.fai:/var/lib/cwl/stg8e064cc4-5d8a-48e7-ba03-9ebda8c10492/chr17_test.fa.fai:ro \
    --volume=/home/bio/serge/analysis-workflows_TATAHIN_FORK/example_data/exome_workflow/chr17_test.fa.amb:/var/lib/cwl/stg8e064cc4-5d8a-48e7-ba03-9ebda8c10492/chr17_test.fa.amb:ro \
    --volume=/home/bio/serge/analysis-workflows_TATAHIN_FORK/example_data/exome_workflow/chr17_test.fa.ann:/var/lib/cwl/stg8e064cc4-5d8a-48e7-ba03-9ebda8c10492/chr17_test.fa.ann:ro \
    --volume=/home/bio/serge/analysis-workflows_TATAHIN_FORK/example_data/exome_workflow/chr17_test.fa.bwt:/var/lib/cwl/stg8e064cc4-5d8a-48e7-ba03-9ebda8c10492/chr17_test.fa.bwt:ro \
    --volume=/home/bio/serge/analysis-workflows_TATAHIN_FORK/example_data/exome_workflow/chr17_test.fa.pac:/var/lib/cwl/stg8e064cc4-5d8a-48e7-ba03-9ebda8c10492/chr17_test.fa.pac:ro \
    --volume=/home/bio/serge/analysis-workflows_TATAHIN_FORK/example_data/exome_workflow/chr17_test.fa.sa:/var/lib/cwl/stg8e064cc4-5d8a-48e7-ba03-9ebda8c10492/chr17_test.fa.sa:ro \
    --volume=/home/bio/serge/analysis-workflows_TATAHIN_FORK/example_data/exome_workflow/chr17_test.fa.index:/var/lib/cwl/stg8e064cc4-5d8a-48e7-ba03-9ebda8c10492/chr17_test.fa.index:ro \
    --volume=/home/bio/serge/analysis-workflows_TATAHIN_FORK/example_data/exome_workflow/chr17_test.dict:/var/lib/cwl/stg8e064cc4-5d8a-48e7-ba03-9ebda8c10492/chr17_test.dict:ro \
    --workdir=/RJsOtd \
    --read-only=true \
    --user=1000:1000 \
    --rm \
    --env=TMPDIR=/tmp \
    --env=HOME=/RJsOtd \
    --cidfile=/tmp/g060o6to/20191205182725-999418.cid \
    'brentp/smoove@sha256:9d5098d3882df1443aae36922d36b5188af1cb9b8f83dab4a9ed041a6a8019cc' \
    /usr/local/bin/smoove \
    call \
    --processes \
    4 \
    -F \
    --genotype \
    /var/lib/cwl/stga84ed033-02ba-4316-9104-711b03107983/final.bam \
    --name \
    SV \
    --fasta \
    /var/lib/cwl/stg8e064cc4-5d8a-48e7-ba03-9ebda8c10492/chr17_test.fa
[smoove] 2019/12/05 15:27:26 starting with version 0.1.6
[smoove] 2019/12/05 15:27:26 calculating bam stats for 1 bams
2019/12/05 15:27:26 covmed: not enough reads to sample for bam stats
[smoove] 2019/12/05 15:27:26 done calculating bam stats
[smoove]: 2019/12/05 15:27:26 finished process: lumpy-filter (lumpy_filter -f /var/lib/cwl/stg8e064cc4-5d8a-48e7-ba03-9ebda8c10492/chr17_test.fa /var/lib/cwl/stga) in user-time:17.425ms system-time:2.354ms
[smoove] 2019/12/05 15:27:26 removed 0 alignments out of 6 (0.00%) with depth > 800 or from excluded chroms from H_NJ-HCC1395-HCC1395.disc.bam in 0 seconds
[smoove] 2019/12/05 15:27:26 removed 0 alignments out of 6 (0.00%) that were bad interchromosomals or flanked-splitters from H_NJ-HCC1395-HCC1395.disc.bam
[smoove] 2019/12/05 15:27:26 removed 0 singletons out of 6 reads (0.00%) from H_NJ-HCC1395-HCC1395.disc.bam in 0 seconds
[smoove] 2019/12/05 15:27:26 removed 0 alignments out of 0 (NaN%) with depth > 800 or from excluded chroms from H_NJ-HCC1395-HCC1395.split.bam in 0 seconds
[smoove] 2019/12/05 15:27:26 removed 0 alignments out of 0 (NaN%) that were bad interchromosomals or flanked-splitters from H_NJ-HCC1395-HCC1395.split.bam
[smoove] 2019/12/05 15:27:26 removed 0 singletons out of 0 reads (NaN%) from H_NJ-HCC1395-HCC1395.split.bam in 0 seconds
[smoove] 2019/12/05 15:27:26 starting lumpy
[smoove] 2019/12/05 15:27:26 wrote lumpy command to .//SV-lumpy-cmd.sh
[smoove] 2019/12/05 15:27:26 writing sorted, indexed file to SV-smoove.genotyped.vcf.gz
[smoove] 2019/12/05 15:27:26 excluding variants with all unknown or homozygous reference genotypes
[smoove] 2019/12/05 15:27:26 > gsort version 0.0.6
[smoove] 2019/12/05 15:27:26 missing pair end parameters:mean stdev read_length min_non_overlap

Program: ********** (v 0.2.13)
Author:  Ryan Layer<EMAIL_ADDRESS>[smoove] 2019/12/05 15:27:26
Summary: Find structural variations in various signals.

Usage:   ********** [OPTIONS]

Options:
        -g      Genome file (defines chromosome order)
        -e      Show evidence for each call
        -w      File read windows size (default 1000000)
        -mw     minimum weight for a call
        -msw    minimum per-sample weight for a call
        -tt     trim threshold
        -x      exclude file bed file
        -t      temp file prefix, must be to a writeable directory
        -P      output probability curve for each variant
        -b      output BEDPE instead of VCF
        -sr     bam_file:<file name>,
                id:<sample name>,
                back_distance:<distance>,
                min_mapping_threshold:<mapping quality>,
                weight:<sample weight>,
                min_clip:<minimum clip length>,
                read_group:<string>
[smoove] 2019/12/05 15:27:26
        -pe     bam_file:<file name>,
                id:<sample name>,
                histo_file:<file name>,
                mean:<value>,
                stdev:<value>,
                read_length:<length>,
[smoove] 2019/12/05 15:27:26
                min_non_overlap:<length>,
                discordant_z:<z value>,
                back_distance:<distance>,
                min_mapping_threshold:<mapping quality>,
                weight:<sample weight>,
                read_group:<string>
[smoove] 2019/12/05 15:27:26
        -bedpe  bedpe_file:<bedpe file>,
                id:<sample name>,
                weight:<sample weight>

[smoove] 2019/12/05 15:27:26 2019/12/05 15:27:26 EOF
[smoove] 2019/12/05 15:27:26 Failed to open -: unknown file type
[smoove] 2019/12/05 15:27:26 wrote sorted, indexed file to SV-smoove.genotyped.vcf.gz
panic: exit status 255

Firstly we have tried to start the basecommand from schema (smoove.cwl) in smoove docker-container with final.bam from tmpfiles, but there was the same error.
According to --help of smoove call the order of arguments differs from smoove.cwl's command:
Usage: smoove --name NAME --fasta FASTA [--exclude EXCLUDE] [--excludechroms EXCLUDECHROMS] [--processes PROCESSES] [--outdir OUTDIR] [--noextrafilters] [--support SUPPORT] [--genotype] [--duphold] [--removepr] BAMS [BAMS ...]

When we changed the order of arguments, error modified:
 root@b86cdc266e41:/inputs/Temp_bam1#     /usr/bin/smoove     call     --processes     4     -F     --genotype     --name     SV     --fasta     /inputs/example_data/exome_workflow/chr17_test.fa    /inputs/Temp_bam1/final.bam
[smoove] 2019/12/05 17:32:41 starting with version 0.2.5
[smoove] 2019/12/05 17:32:41 calculating bam stats for 1 bams
2019/12/05 17:32:41 covmed: not enough reads to sample for bam stats
[smoove] 2019/12/05 17:32:41 done calculating bam stats
[smoove] 2019/12/05 17:32:41 removed 0 alignments out of 0 (NaN%) with low mapq, depth > 1000, or from excluded chroms from H_NJ-HCC1395-HCC1395.split.bam in 0 seconds
[smoove] 2019/12/05 17:32:41 removed 0 alignments out of 0 (NaN%) that were bad interchromosomals or flanked-splitters from H_NJ-HCC1395-HCC1395.split.bam
[smoove] 2019/12/05 17:32:41 removed 0 alignments out of 6 (0.00%) with low mapq, depth > 1000, or from excluded chroms from H_NJ-HCC1395-HCC1395.disc.bam in 0 seconds
[smoove] 2019/12/05 17:32:41 removed 0 alignments out of 6 (0.00%) that were bad interchromosomals or flanked-splitters from H_NJ-HCC1395-HCC1395.disc.bam
[smoove] 2019/12/05 17:32:41 kept 0 putative orphans
[smoove] 2019/12/05 17:32:41 removed 0 split orphans in 0 seconds
[smoove] 2019/12/05 17:32:41 kept 0 putative orphans
[smoove] 2019/12/05 17:32:41 removed 0 discordant orphans in 0 seconds
[smoove] 2019/12/05 17:32:41 removed 0 singletons of 0 reads (NaN%) from H_NJ-HCC1395-HCC1395.split.bam in 0 seconds
[smoove] 2019/12/05 17:32:41 0 reads (NaN%) of the original 0 remain from H_NJ-HCC1395-HCC1395.split.bam
[smoove] 2019/12/05 17:32:41 removed 0 singletons and isolated interchromosomals of 6 reads (0.00%) from H_NJ-HCC1395-HCC1395.disc.bam in 0 seconds
[smoove] 2019/12/05 17:32:41 6 reads (100.00%) of the original 6 remain from H_NJ-HCC1395-HCC1395.disc.bam
[smoove] 2019/12/05 17:32:41 starting lumpy
[smoove] 2019/12/05 17:32:41 wrote lumpy command to .//SV-lumpy-cmd.sh
[smoove] 2019/12/05 17:32:41 writing sorted, indexed file to SV-smoove.genotyped.vcf.gz
[smoove] 2019/12/05 17:32:41 excluding variants with all unknown or homozygous reference genotypes
[smoove] 2019/12/05 17:32:41 > gsort version 0.0.6
[smoove] 2019/12/05 17:32:41 388
[smoove] 2019/12/05 17:32:41 0
[smoove] 2019/12/05 17:32:41 chr17      1000000
chr17   2000000
chr17   4000000
chr17   8000000
chr17   32000000
chr17   64000000
[smoove] 2019/12/05 17:32:41 2019/12/05 17:32:41 EOF
[smoove] 2019/12/05 17:32:41 Failed to open -: unknown file type
panic: exit status 255

goroutine 1 [running]:
github.com/brentp/smoove/svtyper.check(...)
        /home/brentp/go/go/src/github.com/brentp/smoove/svtyper/svtyper.go:33
github.com/brentp/smoove/svtyper.Svtyper(0xbd75a0, 0xc00000e0d0, 0x7ffe1734bd7c, 0x31, 0xc00014d5a0, 0x1, 0x1, 0xaf76c4, 0x2, 0x7ffe1734bd71, ...)
        /home/brentp/go/go/src/github.com/brentp/smoove/svtyper/svtyper.go:226 +0x17f8
github.com/brentp/smoove/lumpy.Main()
        /home/brentp/go/go/src/github.com/brentp/smoove/lumpy/lumpy.go:347 +0x44f
main.main()
        /home/brentp/go/go/src/github.com/brentp/smoove/cmd/smoove/smoove.go:124 +0x1ce

Thus the order changing helps, but it is not enough. Maybe error relates to "-" in temp files names (H_NJ-HCC1395-HCC1395).
Output files of smoove, produced from test final.bam from example_data/exome_workflow
H_NJ-HCC1395-HCC1395.disc.bam
H_NJ-HCC1395-HCC1395.disc.bam.bai
H_NJ-HCC1395-HCC1395.disc.bam.orig.bam
H_NJ-HCC1395-HCC1395.histo
H_NJ-HCC1395-HCC1395.split.bam
H_NJ-HCC1395-HCC1395.split.bam.bai
H_NJ-HCC1395-HCC1395.split.bam.orig.bam
SV-lumpy-cmd.sh

I changed "-" in headers of input bam-files and readgroups:
@RG     ID:2895499223   CN:WUGSC        LB:H_NJ_HCC1395_HCC1395-lg24-lib1       PL:Illumina     PU:H7HY2CCXX.3.ATCACGGT SM:H_NJ_HCC1395_HCC1395

But the error repeated.
[smoove] 2019/12/09 10:10:23 Failed to open -: unknown file type

So I try to find out the real reason of an error. If you have any idea, write it in comments, please.

I tested smoove with our aligned bam-file, relevant ref-file and base-command from smoove.cwl and it finished successfuly.
So I can only conclude that bams<PHONE_NUMBER>.bam,<PHONE_NUMBER>.bam) are not suitable for germline_wgs.cwl testing.

Any news here? :)

@apaul7 and @johnegarza ,
Can we sort out a solution to hosting the new example BAM file? The original question was posed by @apaul7 in his PR:
https://github.com/genome/analysis-workflows/pull/885#issue-376771911
I believe the hosting of the "fixed" BAM file input was lost in code review. If it's small enough we should host directly in the repo itself. I know we've moved many inputs to a cloud bucket, but TTBOMK those are not publicly accessible yet.

I would appreciate it very much too!


Gmail SMTP Does not work even though the connection helper works.

Repro steps:

Go to https://myaccount.google.com/security
Click 2-step verification and scroll to the bottom and click App Passwords
Enter an App Name (I use "DoltLab") and click create.
This will give you a password of the form 'xxxx xxxx xxxx xxxx'
Copy it somewhere.
Go to your Doltlab install and try the SMTP connection help like so:

ubuntu@ip-10-2-0-24:~/doltlab$ ./smtp_connection_helper --host smtp.gmail.com --port 587 --auth plain --username<EMAIL_ADDRESS>--password 'xxxx xxxx xxxx xxxx' --from<EMAIL_ADDRESS>--to<EMAIL_ADDRESS>Sending email with auth method: plain
Successfully sent email!

It should work.
7. (optional) Make sure you've stopped the Dolt Lab server and cleared the docker volumes if you already had one running:
./stop.sh
docker system prune -a
docker volume ls -q | xargs docker volume rm

Now create a fresh DoltLab install with those same credentials.

./installer --host <IP_ADDRESS> --smtp-host=smtp.gmail.com --smtp-port=587<EMAIL_ADDRESS>--smtp-password='xxxx xxxx xxxx xxxx'<EMAIL_ADDRESS>

Start it.

./start.sh

Try to create an account on your instance. It will fail with an authentication error:

From what i can tell this is a gmail SMTP server issue and not a DoltLab issue...

Subsequent tries were able to get this to work. The Gmail SMTP server authentication seems flakey.


implement client-go workqueue

Now that client-go vendors the workqueue used in upstream controllers we should switch to it as it gives us features such as rate limiting, and in general is a lot more battle tested than our own implementation.
This updates the vendored client-go dependency and implements using the workqueue. First positive fact impression: it seems that the e2e tests have gotten a lot more stable with this.
Closes #106
@alexsomesan @fabxc

LGTM 👍
I didn't eyeball check all the metav1 replacements very closely. I guess we should see e2e tests breaking if something is off there.

Actually e2e tests got more stable with this, ran them a couple times and even the previously flaky test was passing on all runs 🙂


Tilde (~) is not expanded on linux

Simple enough:
// This will fail
geod@Barsoom:~/mysql-bug$ dub build --compiler=~/bin/dmd-2.064.2/linux/bin64/dmd
vibe-d: ["vibe-d", "libevent", "openssl"]
mysql-native: ["mysql-native", "vibe-d", "libevent", "openssl"]
mysql-bug: ["mysql-bug", "mysql-native", "vibe-d", "libevent", "openssl"]
Building vibe-d configuration "libevent", build type debug.
Running ~/bin/dmd-2.064.2/linux/bin64/dmd...
FAIL ../.dub/packages/vibe-d-0.7.19-beta.4/.dub/build/libevent-debug-linux.posix-x86_64-~/bin/dmd-2.064.2/linux/bin64/dmd-2494B3E0AC5A6FFE1AD0A6AEA442D8E6 vibe-d staticLibrary
Error executing command build: Not an executable file: ~/bin/dmd-2.064.2/linux/bin64/dmd

// This will work
geod@Barsoom:~/mysql-bug$ dub build --compiler=/home/geod/bin/dmd-2.064.2/linux/bin64/dmd

I think this issue should be closed.

The expansion is an issue with the shell's parser and it doesn't appear common for applications to double-check that the expansion occurred - they just fail.

I haven't been able to recreate the build path issue; it appears that dub no longer concatenates the compiler's name to the target path (I'm seeing a default of ~/.dub/build/[random]/target).

:+1:


update plugin permision file

sahil is a new team member and will manage team concert related stuff from now onwards.

Description

Submitter checklist for adding or changing permissions

Always

[ ] Add link to plugin/component Git repository in description above

For a newly hosted plugin only

[ ] Add link to resolved HOSTING issue in description above

For a new permissions file only

[ ] Make sure the file is created in permissions/ directory
[ ] artifactId (pom.xml) is used for name (permissions YAML file).
[ ] groupId / artifactId (pom.xml) are correctly represented in path (permissions YAML file)
[ ] Check that the file is named plugin-${artifactId}.yml for plugins

When adding new uploaders (this includes newly created permissions files)

[ ] Make sure to @mention an existing maintainer to confirm the permissions request, if applicable
[ ] Use the Jenkins community (LDAP) account name in the YAML file, not the GitHub account name
[ ] Make sure to @mention the users being added so their GitHub account names are known if they require GitHub merge access (see below).
[ ] All newly added users have logged in to Artifactory at least once

Reviewer checklist (not for requesters!)

[ ] Check this if newly added person also needs to be given merge permission to the GitHub repo (please @ the people/person with their GitHub username in this issue as well). If needed, it can be done using an IRC Bot command
[ ] Check that the $pluginId Developers team has Admin permissions while granting the access.
[ ] In the case of plugin adoption, ensure that the Jenkins Jira default assignee is either removed or changed to the new maintainer.
[ ] If security contacts are changed (this includes add/remove), ping the security officer (currently @daniel-beck) in this pull request. If an email contact is changed, wait for approval from the security officer.

There are IRC Bot commands for it

does @sahilkmansuriibm need commit access?
let us know an hour after sahilkmansuriibm has logged into artifactory

Dear Gavin,Sahil will be required with commit access, @sahilkmansuriibm has logged into the artifactory.
Thanks and RegardsNitin Rawal

----- Original message -----From: "Gavin Mogan" @.>To: "jenkins-infra/repository-permissions-updater" @.>Cc: "nitinjirawal" @.>, "Author" @.>Subject: [EXTERNAL] Re: [jenkins-infra/repository-permissions-updater] update plugin permision file (PR #2256)Date: Thu, Dec 16, 2021 12:02 PM      does @sahilkmansuriibm need commit access? let us know an hour after sahilkmansuriibm has logged into artifactory — You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub, or             ZjQcmQRYFpfptBannerStart
This Message Is From an External Sender
This message came from outside your organization. ZjQcmQRYFpfptBannerEnd

does @sahilkmansuriibm need commit access?        let us know an hour after sahilkmansuriibm has logged into artifactory
—You are receiving this because you authored the thread.Reply to this email directly, view it on GitHub, or unsubscribe.Triage notifications on the go with GitHub Mobile for iOS or Android.


[material-ui] Deprecate composed CSS classes

Part of #40417
Description
Deprecate composed CSS classes, which are planned for removal in v7.

These are deprecated in favor of using atomic classes and combining them in userland
If the atomic classes do not exist, they must be implemented in the same PR in which the deprecation is added
The PR introducing the deprecation must also add:

A section in the migration guide
A codemod

Example PR

https://github.com/mui/material-ui/pull/41235

Contributing
Feel free to take any components that still need to be done or in progress. Please mention this issue in your PR so we can link it in the description and keep it up to date.
Components to migrate

[x] AccordionSummary: #40418, #41006
[x] Alert: #40688
[x] Button: #40675
[x] ButtonGroup: #41259
[x] Chip: #41235
[x] CircularProgress: #42076
[ ] Dialog
[x] Divider:  #40563
[ ] Drawer
[ ] FilledInput
[x] ImageListItemBar: #42905
[ ] Input
[ ] InputBase
[ ] LinearProgress
[ ] LoadingButton
[ ] NativeSelect
[ ] OutlinedInput
[x] PaginationItem: #40673, #41145
[ ] Select: #42950
[ ] Slider
[ ] SpeedDial
[ ] SpeedDialAction
[ ] SpeedDialIcon
[x] StepConnector: #41740
[ ] SwipeableDrawer
[x] TableSortLabel: #42281
[ ] TabList
[ ] Tabs
[x] ToggleButtonGroup: #41288
[ ] Tooltip

Search keywords: deprecation composed classes material-ui
Search keywords:

Hi @DiegoAndai,
I would like to help out with this task, I'm thinking of starting with tooltip, but I'm having a little difficulty discerning the composed classes from the atomic ones. I'm looking at the docs docs,
would I be correct in assuming that the merge request should look something along the lines of:
.MuiTooltip-arrow
.MuiTooltip-popper
.MuiTooltip-popperArrow [deprecated]
.MuiTooltip-popperClose [deprecated]
.MuiTooltip-popperInteractive [deprecated]
.MuiTooltip-tooltip
.MuiTooltip-tooltipArrow
.MuiTooltip-tooltipPlacementBottom [deprecated]
.MuiTooltip-tooltipPlacementLeft [deprecated]
.MuiTooltip-tooltipPlacementRight [deprecated]
.MuiTooltip-tooltipPlacementTop [deprecated]
.MuiTooltip-touch
Where the composed classes are the the joins of what would be individual css classes applied to the children.

Hi @harry-whorlow! The Tooltip components is a complex component, I'm not sure what the best class structure would be best 🤔
I would suggest starting with the SpeedDial component.

Copy that, I'll start with the old friend SpeedDial 🫡

Hi @DiegoAndai
I would like to help out with this task. Is it still available for contribution from the community?

Hey @alisasanib @yash49, thanks for reaching out, and sorry for the delay. Any of the components in the description's list that don't have a PR attached are free to take. I would recommend starting with simpler components like the LinearProgress or SpeedDial. Let me know if you will be taking any of these. Thanks in advance!

If it's alright with you,I'll start with speed dial as it was the PR I was working on before the endeavour was paused.

@DiegoAndai  I'll work on Drawer

Hi @DiegoAndai
please review https://github.com/mui/material-ui/pull/44870


Version Tag 2.0.11

Hello,
I noticed that OpenConext-Deploy is using version 2.0.11 of authorization admin, but the latest tagged version on GitHub for it is 2.0.10.
Would there be a way to get this tag pushed so our CI tool can grab it?
Much appreciated!

https://github.com/OpenConext/OpenConext-authorization-admin/releases/tag/v2.0.11


nupkg used by another process (or more likely ourself)

Description
I see something strange in some builds:
2018-11-11T08:56:01.4057152Z -> Could not download Fake.Core.Target 5.9.3 from https://api.nuget.org/v3-flatcontainer/fake.core.target/5.9.3/fake.core.target.5.9.3.nupkg.
2018-11-11T08:56:01.4057387Z    StackTrace:
2018-11-11T08:56:01.4057583Z         at Paket.NuGet.download@852-54.Invoke(Exception _arg12)
2018-11-11T08:56:01.4057805Z         at <StartupCode$FSharp-Core>.$Async.TryWith@1113-1.Invoke(Exception exn)
2018-11-11T08:56:01.4058018Z         at Microsoft.FSharp.Control.AsyncPrimitives.CallFilterThenInvoke[T](AsyncActivation`1 ctxt, FSharpFunc`2 catchFilter, ExceptionDispatchInfo edi)
2018-11-11T08:56:01.4058261Z         at Microsoft.FSharp.Control.Trampoline.Execute(FSharpFunc`2 firstAction)
2018-11-11T08:56:01.4058461Z      --- End of stack trace from previous location where exception was thrown ---
2018-11-11T08:56:01.4058696Z         at Microsoft.FSharp.Control.AsyncResult`1.Commit()
2018-11-11T08:56:01.4058992Z         at Microsoft.FSharp.Control.AsyncPrimitives.RunSynchronouslyInCurrentThread[a](CancellationToken cancellationToken, FSharpAsync`1 computation)
2018-11-11T08:56:01.4059237Z         at Microsoft.FSharp.Control.AsyncPrimitives.RunSynchronously[T](CancellationToken cancellationToken, FSharpAsync`1 computation, FSharpOption`1 timeout)
2018-11-11T08:56:01.4059463Z         at Microsoft.FSharp.Control.FSharpAsync.RunSynchronously[T](FSharpAsync`1 computation, FSharpOption`1 timeout, FSharpOption`1 cancellationToken)
2018-11-11T08:56:01.4059726Z         at Paket.RestoreProcess.Restore@693-8.Invoke(Unit unitVar0)
2018-11-11T08:56:01.4060381Z         at Paket.Utils.RunInLockedAccessMode[a](String lockedFolder, FSharpFunc`2 action)
2018-11-11T08:56:01.4060722Z         at Paket.RestoreProcess.Restore$cont@595(FSharpOption`1 targetFrameworks, FSharpList`1 referencesFileNames, FSharpOption`1 projectFile, Boolean ignoreChecks, FSharpOption`1 group, Boolean force, Boolean failOnChecks, String dependenciesFileName, FileInfo lockFileName, String root, Boolean isFullRestore, Lazy`1 lockFile, Lazy`1 localFile, Boolean hasLocalFile, Unit unitVar)
2018-11-11T08:56:01.4061064Z         at Paket.RestoreProcess.Restore(String dependenciesFileName, FSharpOption`1 projectFile, Boolean force, FSharpOption`1 group, FSharpList`1 referencesFileNames, Boolean ignoreChecks, Boolean failOnChecks, FSharpOption`1 targetFrameworks)
2018-11-11T08:56:01.4061356Z         at Fake.Runtime.FakeRuntime.paketCachingProvider(FakeConfig config, String cacheDir, Dependencies paketApi, Lazy`1 paketDependenciesFile, FSharpOption`1 group) in D:\a\1\s\src\app\Fake.Runtime\FakeRuntime.fs:line 298
2018-11-11T08:56:01.4062440Z         at Fake.Runtime.FakeRuntime.prepareFakeScript(FakeConfig config) in D:\a\1\s\src\app\Fake.Runtime\FakeRuntime.fs:line 449
2018-11-11T08:56:01.4062723Z         at Program.runOrBuild(RunArguments args) in D:\a\1\s\src\app\Fake.netcore\Program.fs:line 155
2018-11-11T08:56:01.4063656Z -> IOException: The process cannot access the file 'C:\Users\VssAdministrator\.nuget\packages\fake.core.target\5.9.3\fake.core.target.5.9.3.nupkg' because it is being used by another process.
2018-11-11T08:56:01.4064050Z    StackTrace:
2018-11-11T08:56:01.4064252Z         at System.IO.FileStream.ValidateFileHandle(SafeFileHandle fileHandle)
2018-11-11T08:56:01.4064454Z         at System.IO.FileStream.CreateFileOpenHandle(FileMode mode, FileShare share, FileOptions options)
2018-11-11T08:56:01.4064687Z         at System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access, FileShare share, Int32 bufferSize, FileOptions options)
2018-11-11T08:56:01.4064912Z         at Paket.NuGet.download@897-24.Invoke(Stream _arg5)
2018-11-11T08:56:01.4065333Z         at Microsoft.FSharp.Control.AsyncPrimitives.CallThenInvokeNoHijackCheck[a,b](AsyncActivation`1 ctxt, FSharpFunc`2 userCode, b result1)
2018-11-11T08:56:01.4065539Z         at Microsoft.FSharp.Control.Trampoline.Execute(FSharpFunc`2 firstAction). Actual value was false but had expected it to be true.

Maybe this happens when multiple things are running, but isn't that why we have Paket.Utils.RunInLockedAccessMode in the call stack, so maybe this is similar to https://github.com/fsprojects/Paket/issues/2461
Expected behavior
No Error
Actual behavior
Error
Known workarounds
No idea.

And again https://dev.azure.com/fakebuild/FSProjects/_build/results?buildId=974


Add Argument to Ping Other Users

Add an argument to the bot's output for the information it gives that pings other user instead of the user who sent the command.
e.g.
Input:
wii files usb<PHONE_NUMBER>59783424
Output:
<@787390992759783424>,
<https://wit.wiimm.de/>

I've thought about this. I'll leave this issue open so it's possible to do
in the future.
On Tue, Aug 9, 2022, 9:24 PM Snare-Hawk @.***> wrote:

Add an argument to the bot's output for the information it gives that
pings other user instead of the user who sent the command.
e.g.
Input:
wii files usb<PHONE_NUMBER>59783424
Output:
@.***>,
https://wit.wiimm.de/
—
Reply to this email directly, view it on GitHub
https://github.com/MethodOrMadness/nintendo-homebrew-helper/issues/4,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AHIRNJSMDZGXINKLBW3P3YLVYMAFRANCNFSM56CWOP3A
.
You are receiving this because you are subscribed to this thread.Message
ID: @.***>


Calling super.init before attrs init (or, attrs_pre_init)

Hi,
(Thanks for your work on attrs, it's fantastic, I'm a happy sponsor)
I'm subclassing pytorch's nn.Module and it has some "magic" treatment of members that are of certain types, which boils down to it requiring invoking super().__init__() before assigning instance variables, so I can't just use __attrs_post_init__ for this.
I've read https://github.com/python-attrs/attrs/issues/695#issuecomment-702617747, https://github.com/python-attrs/attrs/issues/640#issuecomment-615281984, https://github.com/python-attrs/attrs/issues/167 etc and I'm generally in agreement about composition vs. inheritance, but I'd love to be able to use the convenience of attrs in this situation: a library class that I need to subclass but have no control over.
Naively, it seems to me that this could be satisfied by having an __attrs_pre_init__ hook that receives all the constructor arguments.  I assume you have considered this - would you be open to a PR adding it (it seems relatively straightforward following the code for __attrs_post_init__)?

Thank you for being a sponsor, happy to boot!
As stated in https://github.com/python-attrs/attrs/issues/393#issuecomment-546710431, I think it would be overall a nicer design to allow for telling attrs to write its __init__ into a __attrs_init__ that the user calls themselves?
That said I'm somewhat OK with doing __attrs_pre_init__ too, I'm just busy catching up with my issues on structlog right now – unfortunately I don't seem to have the mental capacity to do large-scale work on two big FOSS projects at once. 🙃

I would like to notice that while __attrs_init__ is a great feature, it forces user either to lose __init__ hints from IDE or to write boilerplate __init__ signature.

IOW types alone make it worth having both in any case?

Yes, my intention was to move current __init__  to be __attrs_init__, then autogenerate an __init__ like:
def __init__(self, ...args as before...):
     self.__attrs_init__(...args again...)
     self.__attrs_post_init__()

Ah I've missed this message! While I want it to do that conceptually, I don't want to have that extra method and and method call on all classes. attrs tries to be as lean and as fast as handwritten classes, so we'll have to live with some ugliness here so our users save bytes and µs. :)

@indigoviolet FYI that the approach I highlighted here works great as a DIY __attrs_pre_init__. I use it for Pytorch modules. In fact I've combined attrs with jsonnet to create configurations similar to AllenNLP. This allows for defining a model in a config file and instantiating it using attrs. Though, I went even farther and automatically register existing modules like nn.Linear. I even made a mypy plugin for it.
I'm looking to open source my code as a Pytorch configuration library built on attrs in the near future. But in the meantime, you should try the code I linked above.

Also see https://github.com/python-attrs/attrs/pull/750

Also see https://github.com/python-attrs/attrs/pull/750

@hynek : See #750 for __attrs_pre_init__ as you requested in https://github.com/python-attrs/attrs/pull/731#issuecomment-765920718 .
Just so I understand your thought process, earlier I thought you preferred the __attrs_init__ model over __attrs_pre_init__. Can you lay out the pros and cons of these approaches?

I understand that a user-defined __init__ will not have the automatic type signature that the generated __init__ would have, so that's a downside of using __attrs_init__. In that sense __attrs_pre_init__ is nice.

But when would I use __attrs_init__ instead of __attrs_pre_init__?

@hynek : See #750 for __attrs_pre_init__ as you requested in https://github.com/python-attrs/attrs/pull/731#issuecomment-765920718 .
Just so I understand your thought process, earlier I thought you preferred the __attrs_init__ model over __attrs_pre_init__. Can you lay out the pros and cons of these approaches?

I understand that a user-defined __init__ will not have the automatic type signature that the generated __init__ would have, so that's a downside of using __attrs_init__. In that sense __attrs_pre_init__ is nice.

But when would I use __attrs_init__ instead of __attrs_pre_init__?

I think __attrs_init__ is nicer when you want do do more in your __init__ than setting values. E.g. deriving values for the initializer from different set of arguments and don’t want to span up a web of per-attrib converters and validators. I don’t quite remember because this topic has been on the agenda for many years (so many thanks for tackling it!!!) but I’ve seen valid arguments for both.
But in practice my gut feeling is that pre_init is gonna see more practical applications. But I might be wrong. There’s a sizable user base of attrs that chose us specifically because we don’t force types on anyone and once they’re out of the equation the upsides of pre_init wane.
Am I somewhat coherent?.

I think __attrs_init__ is nicer when you want do do more in your __init__ than setting values. E.g. deriving values for the initializer from different set of arguments and don’t want to span up a web of per-attrib converters and validators. I don’t quite remember because this topic has been on the agenda for many years (so many thanks for tackling it!!!) but I’ve seen valid arguments for both.
But in practice my gut feeling is that pre_init is gonna see more practical applications. But I might be wrong. There’s a sizable user base of attrs that chose us specifically because we don’t force types on anyone and once they’re out of the equation the upsides of pre_init wane.
Am I somewhat coherent?.


Schema package cleanup

Summary
We have several classes in the Schema assemblies that we don't know if they are useful, supported or needed anymore.
As part of this issue we would need to:

Categorize types in folders (without changing namespaces): Cards, Activities, etc.
Build a matrix that maps channels to types and validate with ABS which ones are needed and which ones aren't (see some inf on channels here https://docs.microsoft.com/en-us/azure/bot-service/bot-service-manage-channels?view=azure-bot-service-4.0&WT.mc_id=Portal-Microsoft_Azure_BotService#bot-schema-transformation-version)
Remove those that we are 100% sure are deprecated, not needed or not supported

There are several properties in the BF cards that we are not certain if they are used or even still supported these days.
We need to analyze the cards based on our target channels and determine if we deprecate them, we keep them or if we simplify their properties.
We should only have implemented classes in Schema that are supported by ABS

This will be addressed as part of a separate effort.


Twilio integration v1 feature

This is the feature branch for the Twilio integration v1: https://github.com/papercups-io/papercups/issues/678

Phone
Dashboard
Slack

thanks for the help on this @a8t @fmterrorf! 🎉 🎉 🎉


3.6.8-node_types-03-unknown-parent-type

Test for a node type with an undefined parent type (derived_from)
See https://github.com/oasis-open/tosca-test-assertions/blob/master/Parser-Validator/3.6.6-capability_types-03-unknown-parent-type.yml to get started.

Assigned to Derek


Clarify that ecosystem must be omitted when querying with a purl

I was wondering why a batch query fails with HTTP 400 (bad request) as soon as I specify a purl in addition to the ecosystem. For a batch query, the response message is empty, for for a single query like
curl -d '{"version": "1.4", "package": {"name": "com.jfinal:jfinal", "ecosystem": "Maven", "purl"<EMAIL_ADDRESS>"https://api.osv.dev/v1/query"

I do get the hint
{"code":3,"message":"Ecosystem specified in a purl query"}

I believe several things could be improved here:

Firstly, https://ossf.github.io/osv-schema/#affectedpackage-field says "This field [purl] is optional but recommended", but does not say that ecosystem must be omitted at the same time.
~In case of errors in batch queries, the response message should contain a deduplicated list of the individual errors that occurred (or some sort of summary / hint, but not the empty string as it is now).~ Edit: I was looking at the regular response message; the error body actually contains a proper message saying "Ecosystem specified in a purl query".
But why is it required to omit the ecosystem in the first place? I realize that specifying both ecosystem and purl could result in inconsistencies, but why fail is there is no inconsistency? Also, the name is also part of the purl, but the name must still be specified.

https://github.com/google/osv.dev/blob/d615cac32ba42fff41e39facaf9b8d3f45a80d21/gcp/api/server.py#L814 is where this happens, and that was only recently added by @another-rex in https://github.com/google/osv.dev/pull/1354

We are disallowing ecosystem in purl queries because of the reason you specified, it's unclear what should be done if they are different.

Firstly, https://ossf.github.io/osv-schema/#affectedpackage-field says "This field [purl] is optional but recommended", but does not say that ecosystem must be omitted at the same time.

Also, the name is also part of the purl, but the name must still be specified.

I think there's some confusion here between the osv schema and the osv.dev API. The schema is specifying requirements for the publication of OSV entries, where the purl field is recommended but optional.
The API docs however are located here: https://google.github.io/osv.dev/post-v1-query/, where it says:

Attribute
Type
Description

purl
string
The package URL for this package. If purl is used to specify the package, name and ecosystem should not be set.

@hayleycd Can we add an additional link to the API doc on the README, it's not clear right now that the readme docs link is associated with the API.
Currently we don't error if name is in the query alongside the PURL, though it has the same problem of it might be different from the PURL name, so it's probably a good thing to check and return 400 for as well.

We are disallowing ecosystem in purl queries because of the reason you specified, it's unclear what should be done if they are different.

Would it maybe make sense to instead always prefer a PURL if specified, and disregard name and ecosystem then, without giving an error?

We believe it's best practice to break loudly in such cases to let users know of potential issues with the way they're generating these query parameters, rather than try to be too clever with guessing what the user intends. This may also lead to more confusion in the future.
Thanks for the feedback -- as @another-rex it does seem like we're lacking some clear API documentation links from the root GitHub README. We'll get that added.

We believe it's best practice to break loudly in such cases

it does seem like we're lacking some clear API documentation links

Then, in addition to the API docs, as mentionedhttps://github.com/google/osv.dev/issues/1443#issuecomment-1622789273 should also break if a name is specified in addition to a purl.

Thanks, created https://github.com/google/osv.dev/issues/1451 to track them.
version is a bit more nuanced -- it's valid to provide a PURL without a version in the PURL itself and separately provide the version as a separate parameter.

Thanks for the feedback! I've opened https://github.com/google/osv.dev/issues/1900 for the documentation fix.


test: Add Jenkins job to run without kube-proxy

This change is

test-me-please

Coverage increased (+0.002%) to 45.87% when pulling<PHONE_NUMBER>907d637533a5a515300b695d27c151 on pr/brb/kubeproxy-free-ci into aab74826d7a14e4f357fb3cb3ea73a06d9235423 on master.


Parameter hints for dynamically created classes and methods

In JupyterLab the signature/help for dynamically created classes and methods are shown as a tool-tip when pressing Shift+Tab, e.g.:

In VS Code Jupyter this does not work. No tooltip or - in the following example - a wrong tooltip is shown:

This feature request is related or even equivalent to this closed bug that I found: https://github.com/microsoft/vscode-jupyter/issues/839. I cannot see why it was closed, so I wanted to bring it up again since this would be a really useful feature for us.
There is a comment on said bug that this feature would require some support from Pylance, but it is my understanding that Pylance just does static code analysis and thus could never support this. This feature would require parameter hints to be generated based on a query to the Python kernel (similar to calling the help() function). This query could maybe be a fallback for cases where Pylance does not already provide something useful. Interestingly, for auto-completion suggestions, the Jupyter extension does already query the Python kernel and adds the results to the auto-completion suggestions from Pylance. I cannot find anything similar for parameter hints. In practice, the experiences in VS Code and JupyterLab when working with dynamically generated classes and/or methods are currently very similar for auto-completion suggestions, but very different for parameter hints.
Quick background/context: Our use case is very similar to the one reported in https://github.com/microsoft/pylance-release/issues/117. We work on a library which generates helper classes at runtime based on a request to a backend which returns metadata such as class/function and parameter names from a users project. Our current solution to use our library in VS Code Jupyter is to use the contextual help feature of the Jupyter PowerToys extension which is a reasonably comfortable alternative to manually running help(x) all the time. If we could get the same information inline through VS Code's native parameter hint tooltips that would be much better, though.

@Donjayamanne would this be handled by the context help window in the https://github.com/microsoft/vscode-jupyter-powertoys? I agree with the poster, we don't have the necessary information to provide this level of help. The kernel is needed. Well the context help information is needed. Seems like the powertoys could have a signature help provider?

I think we'd have to close this then. This requires dynamic information. At least that's the request from the poster. I don't think Pylance is ever going to be doing dynamic lookup of doc strings.
Quote from user:

We work on a library which generates helper classes at runtime based on a request to a backend which returns metadata such as class/function and parameter names from a users project. Our current solution to use our library in VS Code Jupyter is to use the contextual help feature of the Jupyter PowerToys extension which is a reasonably comfortable alternative to manually running help(x) all the time. If we could get the same information inline through VS Code's native parameter hint tooltips that would be much better, though.

That sounds like it needs a kernel.


lib/types: allow custom submoduleWith descriptions

Currently the only way to set the description for a submodule type is to use freeformType. This is not ideal as it requires setting a freeform type, and evaluates the submodule config unnecessarily. Instead, add a description argument to submoduleWith.
The motivation for this is to be able to evaluate Home Manager's NixOS module options in nixos-search with minimal evaluation. To get the description for the attrsOf hmModule type, we currently need to evaluate the whole HM module stack in order to know whether there's a freeformType to get the description from, which requires access to the pkgs argument.
I also added a trivial lib.maybe function to simplify the if x != null then x else y pattern. The name is inspired by Haskell (well, fromMaybe is more accurate) but I'm open to better suggestions.

We really need to simplify the payload/binOp logic at some point... something like
{
  op = {
    modules = concatLists;
    specialArgs = mergeDisjointAttrs;
    description = mergeEqualValues;
    # ...
  };
}

would be nice, short of a meta-type system.

We really need to simplify the payload/binOp logic at some point... something like

This exists to support type merging, which is a very useful feature.
Personally, I don't like to be wrong, so I prefer to ask questions. Somewhat conversely, I like to answer whereas I don't like to refute. :peace_symbol:

would be nice, short of a meta-type system.

We do have a type for types, or did you have something else in mind?

This exists to support type merging, which is a very useful feature.

I know! I'm only saying its implementation could be simplified.

We do have a type for types, or did you have something else in mind?

I guess what I mean is that currently optionType is defined using mergeOptionDecls, but the dependency should really be the other way around, with things like description or shorthandOnlyDefinesConfig as suboptions of the option type. But this sounds like a mine field of infinite recursions.

boop

Thanks!


Azure tests running out of disk space

What happened?
We probably need to do the same as in AWS and clean disk space in the preTest step
Example
https://github.com/pulumi/pulumi-azure/actions/runs/8114975996/job/22182601885?pr=1809
Output of pulumi about
.
Additional context
No response
Contributing
Vote on this issue by adding a 👍 reaction.
To contribute a fix for this issue, leave a comment (and link to your pull request, if you've opened one already).

@VenelinMartinov I'm assign this to you as part of https://github.com/pulumi/pulumi-azure/issues/1632.

Addressed in https://github.com/pulumi/pulumi-azure/pull/1809/files


Remove Download Button on Audio Player

Hi there.
I need to remove download button from the audio player.
I run a beat website and people are stealing audio from members.
Thank you.

@govie2 It seems like you are using the devices native controls instead of the mediaelementjs controlbar, because the mediaelementjs controlbar has no download button. To disable the download button for some browsers, you can use the controlsList="nodownload" attribute, see https://developer.mozilla.org/en-US/docs/Web/API/HTMLMediaElement/controlsList
But there are still ways to download audio files, if they are directly linked. Setting up an audio streaming server would be one way to make it harder for people to download the audio files, but there are also other digital rights management solutions out there.
Closing the issue, because it's not really a mediaelementjs problem.


增加更多格式支持|Add Support to More Format

Problem
很感谢你们开发了这个扩展，让我能在 Obsidian 中看 xlsx， 不知道能否支持 xls 这种老表格格式。当然，要是能扩展支持 Office 三件套就更好了 （doc、docx、ppt、pptx）
Thanks for developing this plugin for read .xlsx file inObsidian, but I am wonder if .xls file can be supported, too. Moreover, it will be wonderful to support all office format (including doc, docx, ppt and pptx).
Solution
Add xls file support.
Additional details
No response

Thanks a lot for ur issue. Now the obsidian-univer can support the xls、xlsm、 xlsx format. What's more, u can use doc function if u create a Univer Doc. The docx、ppt、 pptx and more formats will be supported in the near future. Just pay attention to obsidian-univer updates.  We would be grateful if u could share this plugin to ur friends or give our project a star.

Thanks a lot for ur issue. Now the Obsidian-univer can support the xls、xlsm、 xlsx format. What's more, u can use doc function if u create a Univer Doc. The docx、ppt、 pptx and more formats will be supported in the near future. Just pay attention to Obsidian-univer updates. We would be grateful if u could share this plugin to ur friends or give our project a star.

Thanks for reply, I have shared this wonderful extension to some Obsidian and Markdown group.


Is there a minimal working example to use smeagol-galore with a LDAP server for user auth?

Hi,
I read that LDAP auth is possible via CAS. Is is possible to have a minimal working example how to run smeagol-galore with LDAP auth (for example with JumpCloud)? It would be much appreciated, since I have never used CAS before.

Hi @Tony2,
cloudogu/cas uses LDAP. It's not minimal, and uses openldap (not jumpcloud), though.
Note that they're updating to cas 6 at moment, so I presume smeagol galore will also upgrade in the not so far future.
For now, smeagol galore uses cas 4, so maybe the docs can help.
Closing this because I consider it more of a question than an actual issue.

Hi @schnatterer,
thank you for the hint. Here is my understanding of what is needed to be done to get LDAP auth:

clone this repo
make change to deployerConfigContext.xml, as instructed in https://apereo.github.io/cas/4.1.x/installation/LDAP-Authentication.html
build the docker image and start a container from it, instead of the official docker image

Is this correct, or am I still missing some step?


v0.4.3

Coverage decreased (-0.4%) to 92.661% when pulling 0730a7fc69599af6cb80294e17d5372768ac68cd on develop into 6c0dbb50c9b6922989394ec0b1c786f2540556b0 on master.


Removing public symlink to its own directory

Having a symlink that points to its own directory is a problem for some scripts that recurse through every folder.
I had a specific problem where this caused Django's collectstatic management command to run into an infinite loop.

@philfreo The repository is designed to be published to GitHub pages. It is also designed to be used with Pow in my local development environment, hence the need for the public dir.
I'm not familiar with Django's collectstatic, but it sounds like it has a bug (or an undesirable feature) that's worth fixing there. It looks like collectstatic also has support for ignoring directories matching a glob pattern.
You're free to further justify a change to the timeago repository, but given my development workflow, it's currently unlikely that I'll accept this patch.


Update python-shell with new additions

With the release of Gaffer 1.4.0 and Koryphe 1.3.0, there will be a number of new functions, predicates, and operations, which will require adding to the Python Shell.
These will be:
If : gchq/koryphe#81
IsLongerThan : gchq/koryphe#89
Length : gchq/koryphe#85
ExtractId and ExtractProperty : gchq/Gaffer#1705
If : gchq/Gaffer#1649

Merged into develop.


rename vso-task-lib to vsts-task-lib.

Task lib we are not publishing tsd file .. can we also do that, so that any other repo can simply consume doing tsd install


no sqlite as "database type" option during installation

Gogs version (or commit ref): 0.9.71-1471499392.7f7216b.jessie
Git version: 2.1.4-2.1+deb8u2
Operating system: Debian Jessie amd64
Database (use [x]):

[ ] PostgreSQL
[ ] MySQL
[ x] SQLite

Can you reproduce the bug at https://try.gogs.io:

[ ] Yes (provide example URL)
[ ] No
[ x] Not relevant

Log gist: nothing useful

Description
after installation and going to http://MYIP:3000/install , the webui doesn't show sqlite as database type option, it shows only mysql or postgresql.
sqlite3 package is installed, gogs installed via apt.

If you compile Gogs by yourself, you have to add tags to include SQLite
#> go build -tags "sqlite"


Email Verification Front End-Point

We have implemented email verification feature on backend but we yet to implement it on the front-end in Vue. So, it's not of much of a value.
We need a page for authorized user, where sent code can be entered and submitted to the backend.

Possible Implementation
Three files need to be changed in total:

resources/views/auth/EmailVerification.vue - View for the page
resources/views/partials/MainNav.vue - Need to add a button redirecting to the verification page
resources/js/modules/auth/routes.module.js - Need to add route to the verification page

I will take it , if that's not a problem

Resolved by #11


Is it possible to look for larger primes than uint64_t which is 0xFFFFFFFFFFFFFFFF

Greetings
Since the inputs to the C++ are defined as uint64 the larger prime number we can look is the maximum value possible for an unsigned long.
Above that we get an error
primes(0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000, 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff)
Traceback (most recent call last):
File "", line 1, in
File "primesieve_primesieve.pyx", line 5, in primesieve._primesieve.primes (primesieve/_primesieve.cpp:1377)
OverflowError: long int too large to convert

primes(0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00, 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff)
Traceback (most recent call last):
File "", line 1, in
File "primesieve_primesieve.pyx", line 5, in primesieve._primesieve.primes (primesieve/_primesieve.cpp:1377)
OverflowError: long int too large to convert

Is it possible to extend this to a larger max ? i.e 256bit

Sorry, but that is not possible. The primesieve C++ library only supports primes up to 2^64 and  its algorithms are not suited for larger primes.
If you require primes larger than 2^64 you have to look for another library.


Use 'All Songs' for add/play all?

Currently browse-resp.js simply strips out the 'All Songs' entries - which is OK. But, perhaps this entry should be saved as resp.allsongs then browse-page.js can use this (as an extra way) to determine when to show add/play all. Add/play all could then also use this to buld the correct command.

Implemented in master, needs testing!


Crash when a role has an arbitrary ID

The code currently crashes if a role has an arbitrary ID; it now assumes the ID matches /r\d+/. (see the comments in the code)
File ".../filter-bubble/vu-rm-pip3/lib/python/vua-srl-dutch-nominal-events/vua-srl-dutch-additional-roles.py", line 40, in <module>
if int(role_number) > role_index:
ValueError: invalid literal for int() with base 10: '_s1t2'

patch.txt


Move part of neighborlist calculation to the dataloader/dataset

The neighbor list calculations (calculating the local neighborhood N(i) for each i, the distance vector r_ij between atom pairs, and the distance d_ij) are repeated in each epoch. We should move this calculation to the dataloader and cache the results.

A priori it isn't easy to know how much overhead the neighbor list calculation adds. To understand this better I passed a batch of data through the model and also performed the backward pass with the PyTorch Profiler. Below are the stack trace sorted (1) by total CPU time and (2) total GPU time. The neighborlist calculation are by far the most expensive calculations.
Sorted by total CPU time:
-------------------------------------------------------  ------------  ------------  ------------  ------------  ------------  ------------  ------------  ------------  ------------  ------------  ---------------------------------------------------------------------------
                                                   Name    Self CPU %      Self CPU   CPU total %     CPU total  CPU time avg     Self CUDA   Self CUDA %    CUDA total  CUDA time avg    # of Calls  Source Location
-------------------------------------------------------  ------------  ------------  ------------  ------------  ------------  ------------  ------------  ------------  ------------  ------------  ---------------------------------------------------------------------------
                                            aten::index        23.65%      54.404ms        41.11%      94.565ms      30.040us      41.266ms        16.28%     101.261ms      32.167us          3148  modelforge/potential/models.py(64): enumerate_all_pairs
                                                                                modelforge/potential/models.py(216): forward
                                                                                torch/nn/modules/module.py(1534): _call_impl
                                                                                nn.Module: Neighborlist_0
                                                                                modelforge/potential/models.py(516): prepare_inputs

                                           aten::arange         9.96%      22.908ms        13.90%      31.988ms      10.161us      18.577ms         7.33%      38.867ms      12.347us          3148  <built-in method arange of type object at 0x7f887bb60c20>
                                                                                modelforge/potential/models.py(64): enumerate_all_pairs
                                                                                modelforge/potential/models.py(216): forward
                                                                                torch/nn/modules/module.py(1534): _call_impl
                                                                                nn.Module: Neighborlist_0

                                aten::repeat_interleave         8.30%      19.095ms        23.17%      53.311ms      67.740us      11.968ms         4.72%      54.457ms      69.196us           787  <built-in method repeat_interleave of type object at 0x7f887bb60c20>
                                                                                modelforge/potential/models.py(64): enumerate_all_pairs
                                                                                modelforge/potential/models.py(216): forward
                                                                                torch/nn/modules/module.py(1534): _call_impl
                                                                                nn.Module: Neighborlist_0

                                          aten::nonzero         8.24%      18.953ms         8.31%      19.125ms      12.151us      16.416ms         6.48%      22.545ms      14.323us          1574  modelforge/potential/models.py(64): enumerate_all_pairs
                                                                                modelforge/potential/models.py(216): forward
                                                                                torch/nn/modules/module.py(1534): _call_impl
                                                                                nn.Module: Neighborlist_0
                                                                                modelforge/potential/models.py(516): prepare_inputs

                                              aten::cat         8.20%      18.862ms         8.22%      18.913ms       8.011us      24.118ms         9.51%      24.173ms      10.238us          2361  <built-in method cat of type object at 0x7f887bb60c20>
                                                                                modelforge/potential/models.py(64): enumerate_all_pairs
                                                                                modelforge/potential/models.py(216): forward
                                                                                torch/nn/modules/module.py(1534): _call_impl
                                                                                nn.Module: Neighborlist_0

                                          aten::reshape         5.82%      13.383ms         5.84%      13.431ms       4.267us      13.770ms         5.43%      20.052ms       6.370us          3148  modelforge/potential/models.py(64): enumerate_all_pairs
                                                                                modelforge/potential/models.py(216): forward
                                                                                torch/nn/modules/module.py(1534): _call_impl
                                                                                nn.Module: Neighborlist_0
                                                                                modelforge/potential/models.py(516): prepare_inputs

                                     aten::index_select         3.75%       8.627ms         3.75%       8.636ms       8.636ms       8.624ms         3.40%       8.639ms       8.639ms             1  <built-in method index_select of Tensor object at 0x7f87981deab0>
                                                                                modelforge/potential/models.py(121): calculate_r_ij
                                                                                modelforge/potential/models.py(216): forward
                                                                                torch/nn/modules/module.py(1534): _call_impl
                                                                                nn.Module: Neighborlist_0

                                            aten::clone         3.45%       7.933ms         6.03%      13.869ms      17.623us       5.879ms         2.32%      15.216ms      19.334us           787  <built-in method repeat_interleave of type object at 0x7f887bb60c20>
                                                                                modelforge/potential/models.py(64): enumerate_all_pairs
                                                                                modelforge/potential/models.py(216): forward
                                                                                torch/nn/modules/module.py(1534): _call_impl
                                                                                nn.Module: Neighborlist_0

(2) sorted by total CUDA time:
-------------------------------------------------------  ------------  ------------  ------------  ------------  ------------  ------------  ------------  ------------  ------------  ------------  ---------------------------------------------------------------------------
                                                   Name    Self CPU %      Self CPU   CPU total %     CPU total  CPU time avg     Self CUDA   Self CUDA %    CUDA total  CUDA time avg    # of Calls  Source Location
-------------------------------------------------------  ------------  ------------  ------------  ------------  ------------  ------------  ------------  ------------  ------------  ------------  ---------------------------------------------------------------------------
                                            aten::index        24.67%      53.833ms        43.21%      94.307ms      30.111us      41.152ms        17.04%     101.122ms      32.287us          3132  modelforge/potential/models.py(64): enumerate_all_pairs
                                                                                modelforge/potential/models.py(216): forward
                                                                                torch/nn/modules/module.py(1534): _call_impl
                                                                                nn.Module: Neighborlist_0
                                                                                modelforge/potential/models.py(516): prepare_inputs

                                              aten::cat         9.20%      20.088ms         9.23%      20.140ms       8.574us      25.239ms        10.45%      25.297ms      10.769us          2349  <built-in method cat of type object at 0x7ff574b2dc20>
                                                                                modelforge/potential/models.py(64): enumerate_all_pairs
                                                                                modelforge/potential/models.py(216): forward
                                                                                torch/nn/modules/module.py(1534): _call_impl
                                                                                nn.Module: Neighborlist_0

                                           aten::arange        10.37%      22.624ms        14.41%      31.446ms      10.040us      18.514ms         7.67%      38.257ms      12.215us          3132  <built-in method arange of type object at 0x7ff574b2dc20>
                                                                                modelforge/potential/models.py(64): enumerate_all_pairs
                                                                                modelforge/potential/models.py(216): forward
                                                                                torch/nn/modules/module.py(1534): _call_impl
                                                                                nn.Module: Neighborlist_0

                                          aten::nonzero         8.40%      18.334ms         8.77%      19.133ms      12.218us      16.367ms         6.78%      22.622ms      14.446us          1566  modelforge/potential/models.py(64): enumerate_all_pairs
                                                                                modelforge/potential/models.py(216): forward
                                                                                torch/nn/modules/module.py(1534): _call_impl
                                                                                nn.Module: Neighborlist_0
                                                                                modelforge/potential/models.py(516): prepare_inputs

                                          aten::reshape         6.16%      13.433ms         6.18%      13.482ms       4.305us      13.965ms         5.78%      20.019ms       6.392us          3132  modelforge/potential/models.py(64): enumerate_all_pairs
                                                                                modelforge/potential/models.py(216): forward
                                                                                torch/nn/modules/module.py(1534): _call_impl
                                                                                nn.Module: Neighborlist_0
                                                                                modelforge/potential/models.py(516): prepare_inputs

                                aten::repeat_interleave         8.79%      19.175ms        24.13%      52.654ms      67.246us      11.836ms         4.90%      53.776ms      68.679us           783  <built-in method repeat_interleave of type object at 0x7ff574b2dc20>
                                                                                modelforge/potential/models.py(64): enumerate_all_pairs
                                                                                modelforge/potential/models.py(216): forward
                                                                                torch/nn/modules/module.py(1534): _call_impl
                                                                                nn.Module: Neighborlist_0

                                           aten::select         3.58%       7.818ms         3.59%       7.837ms       5.004us       9.179ms         3.80%      11.833ms       7.556us          1566  modelforge/potential/models.py(64): enumerate_all_pairs
                                                                                modelforge/potential/models.py(216): forward
                                                                                torch/nn/modules/module.py(1534): _call_impl
                                                                                nn.Module: Neighborlist_0
                                                                                modelforge/potential/models.py(516): prepare_inputs

@chrisiacovella and @ArnNag , if you agree with that interpretation of these findings, I will open a PR to move the neighborlist to the dataloader.

We have discussed this offline and we came to the conclusion that we need to investigate a bit more. I am documenting some of the experiments here, starting with optimizing the data loader:
Q: Does it matter if we set pin_memory to True (as described here?
A: No, it has no impact on training performance.
Q: Does it matter if we double the number of workers?
A:  No impact on training performance.

The PyTorch Lightning Profiler (simple) report provides a summary of the time spent in various parts of the training and validation process over 10 epochs, here is the raw data and I follow this up with a summary:
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
|  Action                                                                                |  Mean duration (s)	|  Num calls      	|  Total time (s) 	|  Percentage %   	|
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
|  Total                                                                                |  -              	|  3068           	|  37.397         	|  100 %          	|
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
|  run_training_epoch                                                                                |  3.039          	|  10             	|  30.39          	|  81.265         	|
|  run_training_batch                                                                                |  0.15677        	|  70             	|  10.974         	|  29.345         	|
|  [LightningModule]TrainingAdapter.optimizer_step                                                                                |  0.15531        	|  70             	|  10.871         	|  29.07          	|
|  [Strategy]SingleDeviceStrategy.training_step                                                                                |  0.13967        	|  70             	|  9.7769         	|  26.144         	|
|  [_EvaluationLoop].val_next                                                                                |  0.72823        	|  11             	|  8.0105         	|  21.42          	|
|  [_TrainingEpochLoop].train_dataloader_next                                                                                |  0.11178        	|  70             	|  7.8243         	|  20.922         	|
|  [Strategy]SingleDeviceStrategy.validation_step                                                                                |  0.18371        	|  11             	|  2.0208         	|  5.4036         	|
|  [Strategy]SingleDeviceStrategy.backward                                                                                |  0.013277       	|  70             	|  0.9294         	|  2.4852         	|

The total time taken for the entire profiling session is 37 seconds, which is 100% of the time.
The majority of the time (81.265%) is spent running the training epochs; validation takes a significant portion of time, about 21.42% of the total time, with each call taking about 0.72823 seconds on average.
Training steps and optimizer steps are significant parts of the per-batch processing time. Data loading and validation steps also consume a considerable amount of time.

I have been using the Pytorch Lightning Profilere to better understand the time cost of the indivicudal calls, here is a closer look at the training_step:
Profile stats for: [Strategy]SingleDeviceStrategy.training_step
         744833 function calls (736538 primitive calls) in 10.494 seconds

   Ordered by: cumulative time

   ncalls  tottime  percall  cumtime  percall filename:lineno(function)
       70    0.000    0.000   10.495    0.150 strategy.py:380(training_step)
       70    0.001    0.000   10.494    0.150 training.py:214(training_step)
       70    0.002    0.000   10.449    0.149 training.py:97(compute_loss)
       70    0.001    0.000   10.441    0.149 training.py:58(_get_energies)
       70    0.001    0.000   10.439    0.149 models.py:592(forward)
 3640/140    0.006    0.000   10.431    0.075 module.py:1528(_wrapped_call_impl)
 3640/140    0.016    0.000   10.431    0.075 module.py:1534(_call_impl)
       70    0.000    0.000    8.471    0.121 models.py:516(prepare_inputs)
       70    0.052    0.001    8.470    0.121 models.py:216(forward)
       70    4.630    0.066    8.361    0.119 models.py:64(enumerate_all_pairs)
       70    0.002    0.000    1.960    0.028 models.py:723(forward)
       70    0.014    0.000    1.925    0.028 schnet.py:180(_forward)
      210    0.540    0.003    1.631    0.008 schnet.py:270(forward)
   294990    1.389    0.000    1.389    0.000 {built-in method torch.cat}
    98330    1.102    0.000    1.102    0.000 {built-in method torch.repeat_interleave}
     1190    0.006    0.000    0.936    0.001 utils.py:338(forward)

A large funk of the cumulative time is spent in the enumerate_all_pairs function.

I did effectively the same profiling, but on the full qm9 dataset; given the small dataset I wonder if we are just capturing some of the overhead that would actually be very minor in a more realistic setting (running on my laptop with a mobile 4060)
For the training_step it is pretty clear that the enumerate_all_pairs is a significant calculation.  For val_next, my machine appears to be much faster that the timing above (even with the larger dataset, but I assume this is the dataloader being efficient). In val_next,  the dataloader takes the most of the time, this operation is pretty minimal in the context of a 4 minute epoch, considering it's less than a second.
training_step
Profile stats for: [Strategy]SingleDeviceStrategy.training_step
         14132773 function calls (14039395 primitive calls) in 232.100 seconds

   Ordered by: cumulative time

   ncalls  tottime  percall  cumtime  percall filename:lineno(function)
      837    0.003    0.000  232.103    0.277 strategy.py:380(training_step)
      837    0.004    0.000  232.094    0.277 training.py:214(training_step)
      837    0.012    0.000  231.920    0.277 training.py:97(compute_loss)
      837    0.006    0.000  231.874    0.277 training.py:58(_get_energies)
      837    0.005    0.000  231.855    0.277 models.py:592(forward)
43524/1674    0.029    0.000  231.764    0.138 module.py:1528(_wrapped_call_impl)
43524/1674    0.062    0.000  231.762    0.138 module.py:1534(_call_impl)
      837    0.001    0.000  230.508    0.275 models.py:516(prepare_inputs)
      837    0.120    0.000  230.501    0.275 models.py:216(forward)
      837  146.985    0.176  230.310    0.275 models.py:64(enumerate_all_pairs)
  5780358   27.526    0.000   27.526    0.000 {built-in method torch.cat}
  1928462   21.975    0.000   21.975    0.000 {built-in method torch.tensor}
  3853572   16.989    0.000   16.989    0.000 {built-in method torch.arange}
  1926786   16.825    0.000   16.825    0.000 {built-in method torch.repeat_interleave}
      837    0.007    0.000    1.252    0.001 models.py:723(forward)
      837    0.030    0.000    0.980    0.001 schnet.py:180(_forward)
     2511    0.100    0.000    0.721    0.000 schnet.py:270(forward)
    14229    0.044    0.000    0.520    0.000 utils.py:338(forward)
     5859    0.011    0.000    0.486    0.000 container.py:215(forward)
    14229    0.297    0.000    0.297    0.000 {built-in method torch._C._nn.linear}

val_next
Profile stats for: [_EvaluationLoop].val_next
         181562 function calls (181140 primitive calls) in 0.558 seconds

   Ordered by: cumulative time

   ncalls  tottime  percall  cumtime  percall filename:lineno(function)
  527/107    0.000    0.000    0.558    0.005 {built-in method builtins.next}
      107    0.000    0.000    0.558    0.005 combined_loader.py:339(__next__)
      107    0.000    0.000    0.557    0.005 combined_loader.py:128(__next__)
      107    0.001    0.000    0.557    0.005 dataloader.py:626(__next__)
      107    0.001    0.000    0.551    0.005 dataloader.py:1299(_next_data)
      110    0.000    0.000    0.548    0.005 dataloader.py:1266(_get_data)
      110    0.000    0.000    0.548    0.005 dataloader.py:1120(_try_get_data)
      110    0.001    0.000    0.548    0.005 queues.py:98(get)
      110    0.000    0.000    0.306    0.003 connection.py:253(poll)
      110    0.000    0.000    0.305    0.003 connection.py:439(_poll)
      110    0.001    0.000    0.305    0.003 connection.py:933(wait)
      110    0.000    0.000    0.303    0.003 selectors.py:402(select)
      110    0.303    0.003    0.303    0.003 {method 'poll' of 'select.poll' objects}
      110    0.006    0.000    0.240    0.002 {built-in method _pickle.loads}
      880    0.003    0.000    0.225    0.000 reductions.py:494(rebuild_storage_fd)
      880    0.001    0.000    0.213    0.000 resource_sharer.py:55(detach)
      880    0.003    0.000    0.153    0.000 resource_sharer.py:81(get_connection)

looking at the data loader for the training loop, pretty minimal time overall, so I don't think this is where we need to focus our time.
Clearly it is the recomputing of the neighborlist
Profile stats for: [_TrainingEpochLoop].train_dataloader_next
         1492641 function calls (1489300 primitive calls) in 1.689 seconds

   Ordered by: cumulative time

   ncalls  tottime  percall  cumtime  percall filename:lineno(function)
 4177/837    0.003    0.000    1.687    0.002 {built-in method builtins.next}
      837    0.002    0.000    1.686    0.002 combined_loader.py:339(__next__)
      837    0.003    0.000    1.680    0.002 combined_loader.py:72(__next__)
      837    0.005    0.000    1.676    0.002 dataloader.py:626(__next__)
      837    0.004    0.000    1.649    0.002 dataloader.py:1299(_next_data)
      837    0.001    0.000    1.617    0.002 dataloader.py:1266(_get_data)
      837    0.001    0.000    1.615    0.002 dataloader.py:1120(_try_get_data)

So digging a bit deeper, most of this slow down is coming from my attempt to improve the memory footprint of the pair enumerate in PR #134 .  While I tested this initially and it was only slightly slower, the speed was very much dependent on my test batch size and dataset size (I think it was a case where everything was too small and dominated by overhead).  Running the more realistic systems shows huge differences in efficiency.
Obviously, in the original implementation, we were running out of memory for datasets with larger molecules and/or larger batch sizes (limiting what nodes we can run on), so we need a different solution.  Moving the pair computation to the data loader is certainly the best approach as it will save us from having to repeat this calculation. If this doesn't pan out the way we want for whatever reason, the bit code below seems to be a reasonable option.  It's a similar approach to the original code, but takes into account each molecule size (it will only enumerate all possible pairs in a molecule, not all possible pairs in a batch).  It is much more memory efficient than the original algorithm, but about 25% slower (clearly much faster than the for loop approach).
Consider the time for a single epoch on the gpu using spice114 with schnet and a batch size of 256 (512 will cause me to run out of memory pn my laptop):

original really big tensors: 388 s
for loop batching (what I did in #134): ~2880 s
generate smaller tensors based on size of each molecule: 578 s

This is the code for the last pair enumeration:
    def enumerate_all_pairs_new(self, atomic_subsystem_indices: torch.Tensor):
        """Compute all pairs of atoms and their distances.

        Parameters
        ----------
        atomic_subsystem_indices : torch.Tensor, shape (nr_atoms_per_systems)
            Atom indices to indicate which atoms belong to which molecule
        """
        # generate index grid
        n = len(atomic_subsystem_indices)

        # get device that passed tensors lives on, initialize on the same device
        device = atomic_subsystem_indices.device

        # atomic_subsystem_indices are numbered from 0 to n_molecules - 1
        # in all cases, so we can use bincount to get the number of atoms in each molecule
        # which we can use to construct smaller tensors
        repeats = torch.bincount(atomic_subsystem_indices)
        offsets = torch.cat(
            (torch.tensor([0], device=device), torch.cumsum(repeats, dim=0)[:-1])
        )

        i_indices = torch.cat(
            [
                torch.repeat_interleave(
                    torch.arange(o, o + r, device=device), repeats=r
                )
                for r, o in zip(repeats, offsets)
            ]
        )
        j_indices = torch.cat(
            [
                torch.cat([torch.arange(o, o + r, device=device) for _ in range(r)])
                for r, o in zip(repeats, offsets)
            ]
        )

        # filter pairs to only keep those belonging to the same molecule
        same_molecule_mask = (
            atomic_subsystem_indices[i_indices] == atomic_subsystem_indices[j_indices]
        )
        i_final_pairs_temp = i_indices[same_molecule_mask]
        j_final_pairs_temp = j_indices[same_molecule_mask]

        if self.only_unique_pairs:
            # filter out pairs that are not unique
            unique_pairs_mask = i_final_pairs_temp < j_final_pairs_temp
            i_final_pairs = i_final_pairs_temp[unique_pairs_mask]
            j_final_pairs = j_final_pairs_temp[unique_pairs_mask]
        else:
            # filter out identical values
            unique_pairs_mask = i_final_pairs_temp != j_final_pairs_temp
            i_final_pairs = i_final_pairs_temp[unique_pairs_mask]
            j_final_pairs = j_final_pairs_temp[unique_pairs_mask]

        # concatenate to form final (2, n_pairs) tensor
        pair_indices = torch.stack((i_final_pairs, j_final_pairs))

        return pair_indices.to(device)

I put the code above in PR #146 ; additionally added in an if statement to use the original algorithm if we are only doing a single molecule (no need to do additional looping for a single molecule).  This saves about 25% of the time.

I think this has been sufficiently addressed in PR #146