Run Strelka2: Uncaught exception occurred

Hi,
thanks for providing such a nice framework.
When I tried to call somatic mutation using vardict, mutect2 and strelka2, at the step of
/home/pmc1/local/share/bcbio/anaconda/bin/python /public/home/pmc1/proj/zhiping/proj/work/bcbiotx/tmpdjZQGx/batch1-Y_15513483_58820326-work/runWorkflow.py -m local -j 1 --quiet
I got errors,
[2018-04-22T22:17Z] Run Strelka2: Illumina_pt2_B1700
[2018-04-22T22:21Z] Uncaught exception occurred
Traceback (most recent call last):
  File "/home/pmc1/local/share/bcbio/anaconda/lib/python2.7/site-packages/bcbio/provenance/do.py", line 23, in run
    _do_run(cmd, checks, log_stdout, env=env)
  File "/home/pmc1/local/share/bcbio/anaconda/lib/python2.7/site-packages/bcbio/provenance/do.py", line 103, in _do_run
    raise subprocess.CalledProcessError(exitcode, error_msg)
CalledProcessError: Command '/home/pmc1/local/share/bcbio/anaconda/bin/python /public/home/pmc1/proj/zhiping/proj/work/bcbiotx/tmpdjZQGx/batch1-Y_15513483_58820326-work/runWorkflow.py -m local -j 1 --quiet
' returned non-zero exit status 1
Traceback (most recent call last):
  File "/home/pmc1/local/share/bcbio/anaconda/bin/bcbio_nextgen.py", line 241, in <module>
    main(**kwargs)
  File "/home/pmc1/local/share/bcbio/anaconda/bin/bcbio_nextgen.py", line 46, in main
    run_main(**kwargs)
  File "/home/pmc1/local/share/bcbio/anaconda/lib/python2.7/site-packages/bcbio/pipeline/main.py", line 43, in run_main
    fc_dir, run_info_yaml)
  File "/home/pmc1/local/share/bcbio/anaconda/lib/python2.7/site-packages/bcbio/pipeline/main.py", line 87, in _run_toplevel
    for xs in pipeline(config, run_info_yaml, parallel, dirs, samples):
  File "/home/pmc1/local/share/bcbio/anaconda/lib/python2.7/site-packages/bcbio/pipeline/main.py", line 146, in variant2pipeline
    samples = genotype.parallel_variantcall_region(samples, run_parallel)
  File "/home/pmc1/local/share/bcbio/anaconda/lib/python2.7/site-packages/bcbio/variation/genotype.py", line 195, in parallel_variantcall_region
    "vrn_file", ["region", "sam_ref", "config"]))
  File "/home/pmc1/local/share/bcbio/anaconda/lib/python2.7/site-packages/bcbio/distributed/split.py", line 32, in grouped_parallel_split_combine
    final_output = parallel_fn(parallel_name, split_args)
  File "/home/pmc1/local/share/bcbio/anaconda/lib/python2.7/site-packages/bcbio/distributed/multi.py", line 28, in run_parallel
    return run_multicore(fn, items, config, parallel=parallel)
  File "/home/pmc1/local/share/bcbio/anaconda/lib/python2.7/site-packages/bcbio/distributed/multi.py", line 86, in run_multicore
    for data in joblib.Parallel(parallel["num_jobs"], batch_size=1)(joblib.delayed(fn)(x) for x in items):
  File "/home/pmc1/local/share/bcbio/anaconda/lib/python2.7/site-packages/joblib/parallel.py", line 779, in __call__
    while self.dispatch_one_batch(iterator):
  File "/home/pmc1/local/share/bcbio/anaconda/lib/python2.7/site-packages/joblib/parallel.py", line 625, in dispatch_one_batch
    self._dispatch(tasks)
  File "/home/pmc1/local/share/bcbio/anaconda/lib/python2.7/site-packages/joblib/parallel.py", line 588, in _dispatch
    job = self._backend.apply_async(batch, callback=cb)
  File "/home/pmc1/local/share/bcbio/anaconda/lib/python2.7/site-packages/joblib/_parallel_backends.py", line 111, in apply_async
    result = ImmediateResult(func)
  File "/home/pmc1/local/share/bcbio/anaconda/lib/python2.7/site-packages/joblib/_parallel_backends.py", line 332, in __init__
    self.results = batch()
  File "/home/pmc1/local/share/bcbio/anaconda/lib/python2.7/site-packages/joblib/parallel.py", line 131, in __call__
    return [func(*args, **kwargs) for func, args, kwargs in self.items]
  File "/home/pmc1/local/share/bcbio/anaconda/lib/python2.7/site-packages/bcbio/utils.py", line 52, in wrapper
    return apply(f, *args, **kwargs)
  File "/home/pmc1/local/share/bcbio/anaconda/lib/python2.7/site-packages/bcbio/distributed/multitasks.py", line 275, in variantcall_sample
    return genotype.variantcall_sample(*args)
  File "/home/pmc1/local/share/bcbio/anaconda/lib/python2.7/site-packages/bcbio/variation/genotype.py", line 351, in variantcall_sample
    out_file = caller_fn(align_bams, items, ref_file, assoc_files, region, out_file)
  File "/home/pmc1/local/share/bcbio/anaconda/lib/python2.7/site-packages/bcbio/variation/strelka2.py", line 26, in run
    call_file = _run_somatic(paired, ref_file, assoc_files, region, call_file, strelka_work_dir)
  File "/home/pmc1/local/share/bcbio/anaconda/lib/python2.7/site-packages/bcbio/variation/strelka2.py", line 245, in _run_somatic
    _run_workflow(paired.tumor_data, workflow_file, tx_work_dir)
  File "/home/pmc1/local/share/bcbio/anaconda/lib/python2.7/site-packages/bcbio/variation/strelka2.py", line 257, in _run_workflow
    do.run(cmd, "Run Strelka2: %s" % dd.get_sample_name(data))
  File "/home/pmc1/local/share/bcbio/anaconda/lib/python2.7/site-packages/bcbio/provenance/do.py", line 23, in run
    _do_run(cmd, checks, log_stdout, env=env)
  File "/home/pmc1/local/share/bcbio/anaconda/lib/python2.7/site-packages/bcbio/provenance/do.py", line 103, in _do_run
    raise subprocess.CalledProcessError(exitcode, error_msg)
subprocess.CalledProcessError: Command '/home/pmc1/local/share/bcbio/anaconda/bin/python /public/home/pmc1/proj/zhiping/proj/work/bcbiotx/tmpdjZQGx/batch1-Y_15513483_58820326-work/runWorkflow.py -m local -j 1 --quiet

Would you please help me figure out the problem?
Best,
Hongen

Hongen;
Apologies about the issue and thanks much for the report. Unfortunately we're not getting much debug information here to help isolate the cause of the issue with strelka2. strelka2 can generate a lot of log output so we have --quiet set which doesn't give us The best way to debug would be to look at log/bcbio-nextgen-commands.log and find the configureStrelka* command that immediately proceeds runWorkflow.py for the failing region. If you run those manually outside of bcbio to generate a workflow and then run it, without --quiet, that should hopefully provide more context to understand the error. Thanks for the help debugging and hope this helps.

thanks very much for your help.
I rerun the job
/home/pmc1/local/share/bcbio/anaconda/bin/python /public/home/pmc1/proj/zhiping/proj/work/bcbiotx/tmpdjZQGx/batch1-Y_15513483_58820326-work/runWorkflow.py -m local -j 1
and  got errors
 [2018-04-28T14:22:46.879810Z] [mu02] [63902_1] [WorkflowRunner] Initiating pyFlow run [2018-04-28T14:22:46.893737Z] [mu02] [63902_1] [WorkflowRunner] pyFlowClientWorkflowClass: StrelkaSomaticWorkflow [2018-04-28T14:22:46.896107Z] [mu02] [63902_1] [WorkflowRunner] pyFlowVersion: 1.1.20 [2018-04-28T14:22:46.898539Z] [mu02] [63902_1] [WorkflowRunner] pythonVersion: 2.7.14.final.0 [2018-04-28T14:22:46.900820Z] [mu02] [63902_1] [WorkflowRunner] WorkingDir: '/public/home/pmc1/proj/zhiping/proj/work/log' [2018-04-28T14:22:46.902978Z] [mu02] [63902_1] [WorkflowRunner] ProcessCmdLine: '/public/home/pmc1/proj/zhiping/proj/work/bcbiotx/tmpdjZQGx/batch1-Y_15513483_58820326-work/runWorkflow.py -m local -j 1' [2018-04-28T14:22:46.905300Z] [mu02] [63902_1] [WorkflowRunner] [RunParameters] mode: local [2018-04-28T14:22:46.907315Z] [mu02] [63902_1] [WorkflowRunner] [RunParameters] nCores: 1 [2018-04-28T14:22:46.909565Z] [mu02] [63902_1] [WorkflowRunner] [RunParameters] memMb: 128649 [2018-04-28T14:22:46.911648Z] [mu02] [63902_1] [WorkflowRunner] [RunParameters] dataDir: /public/home/pmc1/proj/zhiping/proj/work/bcbiotx/tmpdjZQGx/batch1-Y_15513483_58820326-work/workspace/pyflow.data [2018-04-28T14:22:46.913864Z] [mu02] [63902_1] [WorkflowRunner] [RunParameters] isDryRun: False [2018-04-28T14:22:46.915783Z] [mu02] [63902_1] [WorkflowRunner] [RunParameters] isContinue: False [2018-04-28T14:22:46.917665Z] [mu02] [63902_1] [WorkflowRunner] [RunParameters] isForceContinue: True [2018-04-28T14:22:46.919255Z] [mu02] [63902_1] [WorkflowRunner] [RunParameters] mailTo: '' [2018-04-28T14:22:46.921741Z] [mu02] [63902_1] [TaskRunner:masterWorkflow] Starting task specification for master workflow [2018-04-28T14:22:46.923778Z] [mu02] [63902_1] [StrelkaSomaticWorkflow] Initiating Strelka somatic workflow version: 2.9.2 [2018-04-28T14:22:46.927860Z] [mu02] [63902_1] [WorkflowRunner] Adding sub-workflow task 'CallGenome' to master workflow [2018-04-28T14:22:46.931498Z] [mu02] [63902_1] [TaskRunner:masterWorkflow] Finished task specification for master workflow [2018-04-28T14:22:46.934194Z] [mu02] [63902_1] [TaskManager] Launching sub-workflow task: 'CallGenome' from master workflow [2018-04-28T14:22:46.936545Z] [mu02] [63902_1] [TaskRunner:CallGenome] Starting task specification for sub-workflow [2018-04-28T14:22:46.939132Z] [mu02] [63902_1] [WorkflowRunner] Adding command task 'CallGenome+makeTmpDir' to sub-workflow 'CallGenome' [2018-04-28T14:22:46.946336Z] [mu02] [63902_1] [WorkflowRunner] Adding command task 'CallGenome+callGenomeSegment_chromId_023_Y_0000' to sub-workflow 'CallGenome' [2018-04-28T14:22:46.949418Z] [mu02] [63902_1] [WorkflowRunner] Adding command task 'CallGenome+fixVcfHeader_chromId_023_Y_0000' to sub-workflow 'CallGenome' [2018-04-28T14:22:46.952722Z] [mu02] [63902_1] [WorkflowRunner] Adding command task 'CallGenome+compressSegmentOutput_chromId_023_Y_0000' to sub-workflow 'CallGenome' [2018-04-28T14:22:46.955399Z] [mu02] [63902_1] [TaskManager] Launching command task: 'CallGenome+makeTmpDir' from sub-workflow 'CallGenome' [2018-04-28T14:22:46.958614Z] [mu02] [63902_1] [WorkflowRunner] Adding command task 'CallGenome+callGenomeSegment_chromId_023_Y_0001' to sub-workflow 'CallGenome' [2018-04-28T14:22:46.961238Z] [mu02] [63902_1] [WorkflowRunner] Adding command task 'CallGenome+compressSegmentOutput_chromId_023_Y_0001' to sub-workflow 'CallGenome' [2018-04-28T14:22:46.963999Z] [mu02] [63902_1] [WorkflowRunner] Adding command task 'CallGenome+callGenomeSegment_chromId_023_Y_0002' to sub-workflow 'CallGenome' [2018-04-28T14:22:46.967784Z] [mu02] [63902_1] [WorkflowRunner] Adding command task 'CallGenome+compressSegmentOutput_chromId_023_Y_0002' to sub-workflow 'CallGenome' [2018-04-28T14:22:46.971607Z] [mu02] [63902_1] [TaskRunner:CallGenome+makeTmpDir] Task initiated on local node [2018-04-28T14:22:46.974072Z] [mu02] [63902_1] [WorkflowRunner] Adding command task 'CallGenome+callGenomeSegment_chromId_023_Y_0003' to sub-workflow 'CallGenome' [2018-04-28T14:22:46.978296Z] [mu02] [63902_1] [WorkflowRunner] Adding command task 'CallGenome+compressSegmentOutput_chromId_023_Y_0003' to sub-workflow 'CallGenome' [2018-04-28T14:22:46.982998Z] [mu02] [63902_1] [WorkflowRunner] Adding command task 'CallGenome+callGenomeSegment_chromId_023_Y_0004' to sub-workflow 'CallGenome' [2018-04-28T14:22:46.985154Z] [mu02] [63902_1] [WorkflowRunner] Adding command task 'CallGenome+compressSegmentOutput_chromId_023_Y_0004' to sub-workflow 'CallGenome' [2018-04-28T14:22:46.988107Z] [mu02] [63902_1] [WorkflowRunner] Adding command task 'CallGenome+completedAllGenomeSegments' to sub-workflow 'CallGenome' [2018-04-28T14:22:46.990700Z] [mu02] [63902_1] [WorkflowRunner] Adding command task 'CallGenome+SNV_concat_vcf' to sub-workflow 'CallGenome' [2018-04-28T14:22:46.993666Z] [mu02] [63902_1] [WorkflowRunner] Adding command task 'CallGenome+SNV_index_vcf' to sub-workflow 'CallGenome' [2018-04-28T14:22:46.995928Z] [mu02] [63902_1] [WorkflowRunner] Adding command task 'CallGenome+Indel_concat_vcf' to sub-workflow 'CallGenome' [2018-04-28T14:22:46.998181Z] [mu02] [63902_1] [WorkflowRunner] Adding command task 'CallGenome+Indel_index_vcf' to sub-workflow 'CallGenome' [2018-04-28T14:22:47.000936Z] [mu02] [63902_1] [WorkflowRunner] Adding command task 'CallGenome+mergeRunStats' to sub-workflow 'CallGenome' [2018-04-28T14:22:47.003246Z] [mu02] [63902_1] [WorkflowRunner] Adding command task 'CallGenome+removeTmpDir' to sub-workflow 'CallGenome' [2018-04-28T14:22:47.006013Z] [mu02] [63902_1] [TaskRunner:CallGenome] Finished task specification for sub-workflow [2018-04-28T14:22:47.122779Z] [mu02] [63902_1] [TaskManager] Completed command task: 'CallGenome+makeTmpDir' launched from sub-workflow 'CallGenome' [2018-04-28T14:22:47.126118Z] [mu02] [63902_1] [TaskManager] Launching command task: 'CallGenome+callGenomeSegment_chromId_023_Y_0004' from sub-workflow 'CallGenome' [2018-04-28T14:22:47.137717Z] [mu02] [63902_1] [TaskRunner:CallGenome+callGenomeSegment_chromId_023_Y_0004] Task initiated on local node [2018-04-28T14:22:47.531155Z] [mu02] [63902_1] [TaskRunner:CallGenome+callGenomeSegment_chromId_023_Y_0004] [WARNING] Task: 'CallGenome+callGenomeSegment_chromId_023_Y_0004' failed but qualifies for retry. Total task failures (including this one): 1. Task command: '/home/pmc1/local/share/bcbio/anaconda/share/strelka-2.9.2-0/libexec/strelka2 --region Y:47498854-59373566 --ref /public/home/pmc1/local/share/bcbio/genomes/Hsapiens/GRCh37/seq/GRCh37.fa --max-indel-size 49 --call-regions-bed /public/home/pmc1/proj/zhiping/proj/work/strelka2/Y/batch1-Y_15513483_58820326-raw-regions-merged.bed.gz --min-mapping-quality 20 --somatic-snv-rate 0.0001 --shared-site-error-rate 0.0000000005 --shared-site-error-strand-bias-fraction 0.0 --somatic-indel-rate 0.000001 --shared-indel-error-factor 2.2 --tier2-min-mapping-quality 0 --strelka-snv-max-filtered-basecall-frac 0.4 --strelka-snv-max-spanning-deletion-frac 0.75 --strelka-snv-min-qss-ref 15 --strelka-indel-max-window-filtered-basecall-frac 0.3 --strelka-indel-min-qsi-ref 40 --ssnv-contam-tolerance 0.15 --indel-contam-tolerance 0.15 --somatic-snv-scoring-model-file /home/pmc1/local/share/bcbio/anaconda/share/strelka-2.9.2-0/share/config/somaticSNVScoringModels.json --somatic-indel-scoring-model-file /home/pmc1/local/share/bcbio/anaconda/share/strelka-2.9.2-0/share/config/somaticIndelScoringModels.json --normal-align-file /public/home/pmc1/proj/zhiping/proj/work/align/Illumina_pt2_B17NC/Illumina_pt2_B17NC-sort.bam --tumor-align-file /public/home/pmc1/proj/zhiping/proj/work/align/Illumina_pt2_B1700/Illumina_pt2_B1700-sort.bam --somatic-snv-file /public/home/pmc1/proj/zhiping/proj/work/bcbiotx/tmpdjZQGx/batch1-Y_15513483_58820326-work/workspace/genomeSegment.tmpdir/somatic.snvs.unfiltered.chromId_023_Y_0004.vcf --somatic-indel-file /public/home/pmc1/proj/zhiping/proj/work/bcbiotx/tmpdjZQGx/batch1-Y_15513483_58820326-work/workspace/genomeSegment.tmpdir/somatic.indels.unfiltered.chromId_023_Y_0004.vcf --stats-file /public/home/pmc1/proj/zhiping/proj/work/bcbiotx/tmpdjZQGx/batch1-Y_15513483_58820326-work/workspace/genomeSegment.tmpdir/runStats.chromId_023_Y_0004.xml --strelka-skip-header' [2018-04-28T14:24:17.628341Z] [mu02] [63902_1] [TaskRunner:CallGenome+callGenomeSegment_chromId_023_Y_0004] Retrying task: 'CallGenome+callGenomeSegment_chromId_023_Y_0004'. Total prior task failures: 1 [2018-04-28T14:24:17.637649Z] [mu02] [63902_1] [TaskRunner:CallGenome+callGenomeSegment_chromId_023_Y_0004] Task initiated on local node [2018-04-28T14:24:17.947165Z] [mu02] [63902_1] [TaskRunner:CallGenome+callGenomeSegment_chromId_023_Y_0004] [WARNING] Task: 'CallGenome+callGenomeSegment_chromId_023_Y_0004' failed but qualifies for retry. Total task failures (including this one): 2. Task command: '/home/pmc1/local/share/bcbio/anaconda/share/strelka-2.9.2-0/libexec/strelka2 --region Y:47498854-59373566 --ref /public/home/pmc1/local/share/bcbio/genomes/Hsapiens/GRCh37/seq/GRCh37.fa --max-indel-size 49 --call-regions-bed /public/home/pmc1/proj/zhiping/proj/work/strelka2/Y/batch1-Y_15513483_58820326-raw-regions-merged.bed.gz --min-mapping-quality 20 --somatic-snv-rate 0.0001 --shared-site-error-rate 0.0000000005 --shared-site-error-strand-bias-fraction 0.0 --somatic-indel-rate 0.000001 --shared-indel-error-factor 2.2 --tier2-min-mapping-quality 0 --strelka-snv-max-filtered-basecall-frac 0.4 --strelka-snv-max-spanning-deletion-frac 0.75 --strelka-snv-min-qss-ref 15 --strelka-indel-max-window-filtered-basecall-frac 0.3 --strelka-indel-min-qsi-ref 40 --ssnv-contam-tolerance 0.15 --indel-contam-tolerance 0.15 --somatic-snv-scoring-model-file /home/pmc1/local/share/bcbio/anaconda/share/strelka-2.9.2-0/share/config/somaticSNVScoringModels.json --somatic-indel-scoring-model-file /home/pmc1/local/share/bcbio/anaconda/share/strelka-2.9.2-0/share/config/somaticIndelScoringModels.json --normal-align-file /public/home/pmc1/proj/zhiping/proj/work/align/Illumina_pt2_B17NC/Illumina_pt2_B17NC-sort.bam --tumor-align-file /public/home/pmc1/proj/zhiping/proj/work/align/Illumina_pt2_B1700/Illumina_pt2_B1700-sort.bam --somatic-snv-file /public/home/pmc1/proj/zhiping/proj/work/bcbiotx/tmpdjZQGx/batch1-Y_15513483_58820326-work/workspace/genomeSegment.tmpdir/somatic.snvs.unfiltered.chromId_023_Y_0004.vcf --somatic-indel-file /public/home/pmc1/proj/zhiping/proj/work/bcbiotx/tmpdjZQGx/batch1-Y_15513483_58820326-work/workspace/genomeSegment.tmpdir/somatic.indels.unfiltered.chromId_023_Y_0004.vcf --stats-file /public/home/pmc1/proj/zhiping/proj/work/bcbiotx/tmpdjZQGx/batch1-Y_15513483_58820326-work/workspace/genomeSegment.tmpdir/runStats.chromId_023_Y_0004.xml --strelka-skip-header'
this task "CallGenome+callGenomeSegment_chromId_023_Y_0004" failed.
The problem is about Y chromosome. When I prepared the sample CSV, the gender information is missing, so I did not specify sex in the CSV file. I am not sure whether it will cause problem.
Best,
Hongen

Hongen;
Thanks for running this and for providing the additional information. We shouldn't need gender information to call on X/Y chromosomes, so I'm not entirely positive what the issue is from just this traceback. If you look in the log files in:
/public/home/pmc1/proj/zhiping/proj/work/bcbiotx/tmpdjZQGx/batch1-Y_15513483_58820326-work/

Do they provide any additional information about the error message? Specifically workflow.error.log.txt might have a more detailed traceback about why the CallGenome+callGenomeSegment_chromId_023_Y_0004 subtask within strelka2 failed. Thanks much for the help debugging.

After reformating the fastq file, streka2 is successful. Thanks.

Thanks for following up and I'm glad this debugging got your analysis finished.


Return the response soap header

I currently have the usecase for needing the Soap Header from a response
It appears the current implementation discards everything but the Body
This PR adds the response Header to the end of the callback
I think it would have been neater to return it in the result but that would be a breaking change

:+1:
Using this fork now in my app. Upgrade was pretty simple since I am using RSVP.denodeify. Thanks.

hi @herom
I just read that any PR that is open for over 2 weeks will be automatically closed.
This PR is approaching 2 weeks, so wondering if you had any thoughts?

@nguyenchr I'm really sorry but I'm actually very short on time and I completely lost track of the open (and passing) PRs. Actually there should be more collaborators but for the last months it seems that I'm own my own :smile:
Sorry again and thanks a lot for your contribution - we appreciate it a lot :+1:

@herom no problem at all, thanks for following it up


Proposal: Combine ETH & BSC branch into one?

Seeing as the ETH and BSC version of the Waifusion site is so similar, it might be a good idea to combine them into the same branch, then check the current URL the user's on (e.g. either waifusion.sexy or waifusionbsc.sexy) and adjust the RPC URL, dungeon contract address and a couple other things based on that. We could also have a global variable override for development purposes.
This would make the development workflow a lot easier as we wouldn't have to keep merging master into the bsc branch and it would generally unify the codebase.

@Phineas  Great idea!!! <3


Editor.TokenColorCustomizations

Addresses #27894

Caveat: colors update quickly, but font style does not. It will only update font style if I modify an affected token as shown in the gif below. Any ideas on what might cause that behavior?

Also, this pack does not include defining the config schema

@aeschli

Thanks @hoovercj , very nice, it's exactly what I have imagined!
I added some comments. It's a bit tight for the June release as it is the last day of development for that release. I'd suggest to commit it for July so we can get insiders feedback.
About the issue of fontstyle changes not triggering a refresh: This sounds like a bug in the editor.

I absolutely agree with waiting for the next release, @aeschli. We've waited this long, what's one more month? :-)
You said that you added comments but I can't see any.

@aeschli is there any more action needed before merging this and getting insiders feedback?

All looks good, thanks @hoovercj !

Will it be whole scopes list?

Hi, just downloaded the new VS Code July 2017. Do you have a list of the syntax tokens available (comments, strings) for the editor.tokenColorCustomizations user setting?

@mscottfowler the intellisense for the setting should show you all the options. For example, this is the gif from the release notes:

You can see that comments, functions, keywords, numbers, strings, types, and variables are options. If you use any of these, you'll change all comments, functions, etc. to the color you set.
If you want to be more specific, you can set ANY scope you want in the textMateRules section. This, too, is shown in the release notes.

To find the scopes that you need to use, open the command pallette and search "TM Scopes"

Then click anywhere in a file that you want to see what scopes are valid there.

I hope that helps!

Thanks, Cody. Much appreciated!
Scott Fowler
Designer/Front-end Developer
505-985-1960
http://www.madjaybird.com/
From: Cody Hoover<EMAIL_ADDRESS>Reply-To: Microsoft/vscode<EMAIL_ADDRESS>Date: Thursday, August 17, 2017 at 2:50 PM
To: Microsoft/vscode<EMAIL_ADDRESS>Cc: Scott Fowler<EMAIL_ADDRESS>Mention<EMAIL_ADDRESS>Subject: Re: [Microsoft/vscode] Editor.TokenColorCustomizations (#29393)
@mscottfowler the intellisense for the setting should show you all the options. For example, this is the gif from the release notes:
You can see that comments, functions, keywords, numbers, strings, types, and variables are options. If you use any of these, you'll change all comments, functions, etc. to the color you set.
If you want to be more specific, you can set ANY scope you want in the textMateRules section. This, too, is shown in the release notes.
To find the scopes that you need to use, open the command pallette and search "TM Scopes"
Then click anywhere in a file that you want to see what scopes are valid there.
I hope that helps!
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or mute the thread.


vscode.workspace.findFiles cannot get files appeared in .gitignore

VSCode Version: 1.18.0-insider
OS Version: win10

Steps to Reproduce:
|- lib
  |- Test.ts
|- .gitignore

.gitignore
/lib

vscode.workspace.findFiles('**/*.ts').then(files => {
    console.log(files)
})

Expect
Get Array[1] with Test.ts inside
Actual
Get Array[0]

Reproduces without extensions: Yes

This result in this: https://github.com/pmneo/ts-importer/issues/45

@chrmarti I can repro this, which is very strange. But only with a pattern in gitignore that excludes a folder, like /lib. Not with **/*.js.

Fixed with 15449873.


Add EPPlus library

Not sure why EPPlus is still not in this list.
It's a great library for manipulating Excel spreadsheets.

Looks good for me, @Denis-Vlassenko, what do you think?

Mature, 4.5 average rating (11 votes), 20k+ downloads, 1k+ followers, decent support of spreadsheet features, commited regularly. Seems like "should be noticed".

@VPashkov thank you

Thank you too.


Update Prometheus.Client library

Prometheus.Client was just upgraded to v2.0.. Can you update Prometheus.Client.Owin so we can use this. It fixes a critical issue with the case of the metric type introduced with Prometheus 2.4

Yes, of course. On this weekend

I apologize for the delay

@gavindew  Released!


Resolve no ingress rule bug

Removes omitempty from the cluster_manager clusters field. Resolves https://github.com/istio/manager/issues/307

Fix looks good, but build failed. I couldn't tell what exactly caused the error... any idea?

Btw, would be nice if we can validate (even manually) that this fix indeed produces a valid Envoy configuration (instead of moving to the next error).

I am hitting this failure in the check:
deployment "ingress" created
The Service "ingress" is invalid: spec.ports[0].nodePort: Invalid value: 32443: provided port is already allocated```

This is probably because setting up the node port is a node-wide operation, so it can interfere with other jobs. The tests don't use the node port, so I will remove it.

Do we have concurrent tests running on the same cluster?

My understanding was that the tests are run on a gcloud cluster.

^^^I did manually verify that this change fixes the bad schema issue when there are no ingress rules.

Jenkins job manager/presubmit passed

LGTM, given that the nodePort isn't used in the test. Does it mean that the ingress service is hit from within the cluster, or isn't exercised at all in the test?

It is hit from within the cluster: https://github.com/istio/manager/blob/master/test/integration/reachability.go#L298. We are only testing that the Ingress controller is proxying correctly, not that it is exposed externally.


[extension activation] Extension not activated on certain contribution points.

Dear VSCode devs,
this is a follow up to https://github.com/microsoft/vscode-discussions/discussions/901 , pinging you here as I believe there may be a bug, not sure

VS Code Version: 1.82
OS Version: Linux

Starting with VSCode 1.75 (I believe), when extensions contribute a language, they don't need to declare it in activation events. This works well for our extension .v files (cc: https://github.com/ejgallego/coq-lsp ), however, we'd also like our extension to be activated on certain markdown files ending in .mv.
This is the relevant part of our package.json
  "contributes": {
    "languages": [
      {
        "id": "markdown",
        "aliases": [
          "Markdown"
        ],
        "extensions": [
          ".mv"
        ]
      }
    ],

The situation here is strange:

if I activate the extension by other means, .mv files work fine and are recognized by our language server.
if I start from an empty VSCode workspace, and I open just a .mv file, the extension won't be activated.
The extension is activated normally by .v files, which are also declared on contributes.language

I'm not sure if this is intended or a bug, but given the recent changes to activation in 1.75 I thought I'd signal this to you folks.

Thanks for creating this issue! It looks like you may be using an old version of VS Code, the latest stable release is 1.84.2. Please try upgrading to the latest version and checking whether this issue remains.
Happy Coding!

We will only do an implicit activation for "main" language contributions, i.e. contributions that include the language configuration. This behavior is currently as designed, I'd suggest to declare a standard onLanguage: activation event for your scenario.

Thanks a lot for the information @joyceerhl , I was not aware of the notion of this rule, it makes sense!
I'll actually play with the alias property too, as our language is really an alias, but so far the onLanguage plus the file selection rule is working as we desire as our extension is only activated for .mv files and not for .md files.
I checked the API docs, maybe this could be documented more directly?
I was looking here https://code.visualstudio.com/api/references/activation-events#onLanguage
If so let me know and I'll be happy to prepare a documentation PR.

Please feel free to send a PR, thank you!


send confirmation based on check box

closes #83

Merged after minor changes to PR. Thanks @jasminelli ! :rocket:


Invalid Resource 'DropDown/resources': File not found.

In Xcode 13 beta 5, there is the following warning when building an app with DropDown as a dependency:

Invalid Resource 'DropDown/resources': File not found.

Issue is still present in the final version. (Xcode 13, b13A233)

This is not an Xcode issue. Rather, it is caused by an error in resources section of Package.swift. Instead of
            resources: [
              .process("DropDown/resources")
            ]

it should be
            resources: [
              .process("resources")
            ]


Interactive tracks

Description
This PR adds an interactive mode to the Tracks layer.
The user can switch to the interactive mode with a checkbox in the layer controls. However, it doesn't offer any additional functionality to the existing UI and its functionalities can only be accessed through code for now.
Because my goal with this PR is to expose a new API (InteractiveTrackManager) for on-the-fly changes to the tracks graph so plugins can use it to edit tracks, and later these plugins might be merged into napari.
In summary, the interactive mode converts the TrackManager to an InteractiveTrackManager that exposes a few new methods:

add:  to add a new node to the tracks graph;
remove: to remove an existing node;
link:  to link two existing nodes;
unlink: to unlink a set of nodes;
update: to update a node position and/or features.

Since this PR introduces a new data structure to store the tracks data we benchmark (using Intel MacBook Pro 13") the new InteractiveTrackManager against the existing TrackManager.
We compare the construction with serialization (necessary only in the interactive mode) performance with datasets of multiple sizes, the number of tracks, and if they're already sorted in the expected ordering.
This experiment is to check if the InteractiveTrackManager could replace the existing manager completely by being faster in every instance (not the case).
TrackManager
              ========= ============ ============= =========== ============
              --                         sorted / n_tracks
              --------- ---------------------------------------------------
                 size    False / 10   False / 100   True / 10   True / 100
              ========= ============ ============= =========== ============
                 100      581±0μs       531±0μs      577±0μs     516±0μs
                 1000     2.00±0ms      1.21±0ms     1.57±0ms    1.25±0ms
                10000     32.1±0ms      9.15±0ms     21.7±0ms    8.19±0ms
                100000    1.19±0s       282±0ms      1.28±0s     191±0ms
               1000000     failed       24.3±0s       failed     24.0±0s
              ========= ============ ============= =========== ============

InteractiveTrackManager
               ========= ============ ============= =========== ============
              --                         sorted / n_tracks
              --------- ---------------------------------------------------
                 size    False / 10   False / 100   True / 10   True / 100
              ========= ============ ============= =========== ============
                 100      3.52±0ms      11.3±0ms     3.28±0ms    11.2±0ms
                 1000     7.04±0ms      21.1±0ms     7.01±0ms    20.2±0ms
                10000     51.2±0ms      64.2±0ms     51.5±0ms    60.4±0ms
                100000    476±0ms       462±0ms      485±0ms     448±0ms
               1000000    4.83±0s       4.78±0s      4.52±0s     4.53±0s
              ========= ============ ============= =========== ============

The InteractiveTrackManager is slower except with 100k nodes and 10 tracks or 1mi nodes.
I profiled the InteractiveTrackManager code and saw that most of the time is spent allocating the Nodes so I checked that the initialization time could be greatly reduced by pre-allocating a pool of Nodes, but I'm not sure if it is worth the increase in the complexity of the code.
The real advantage of the InteractiveTrackManager is that it only needs to serialize the data (convert to the default tabular format), while the TrackManager needs to reload everything from scratch after any change to the data.
Here is the benchmark of the serialization:
              ========= ============ ============= =========== ============
              --                         sorted / n_tracks
              --------- ---------------------------------------------------
                 size    False / 10   False / 100   True / 10   True / 100
              ========= ============ ============= =========== ============
                 100      315±0μs       327±0μs      299±0μs     455±0μs
                 1000     1.18±0ms      1.11±0ms     1.25±0ms    1.65±0ms
                10000     12.2±0ms      10.3±0ms     11.8±0ms    12.0±0ms
                100000    134±0ms       123±0ms      117±0ms     106±0ms
               1000000    1.12±0s       1.15±0s      1.15±0s     1.16±0s
              ========= ============ ============= =========== ============

The serialization is only computed when the data is requested after a change in the graph, and most of the requests are for the visualization of the tracks.
Later, we could update the Track layer slicing and update the TrackVisual so we transverse only the nodes in a specific time window (this is already supported), further reducing the serialization time to a fraction of this and maybe achieving real-time performance with 1mi plus nodes datasets.
Caveats
I decided to not keep track of the original track ids because as the user splits (merges) the tracks, new tracks are generated (removed) and their new ids would be arbitrary. So if the user wants to recover the original track ids they need to call relabel_track_ids and provide the mapping. Track ids not present in the mapping are given the next available id.
The get_value and track_labels methods return the node id in the interactive mode while the default mode returns the track id. This affects the displayed labels in the UI. I decided to change this because it avoids serializing the data and when we are correcting tracks our interaction is at the node level and not at the track level. For example, a node id could be mapped to a segment in a label layer, and this information is lost at the track-id level.
During interactive mode, the data, graph, and features setters are disabled because they must be supplied at once with the set_data method.
Type of change

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

References
It implements some of the points mentioned in #3861, and it adds some functionality discussed in #3779.
It's also a step forward to closing #3111 because the InteractiveTrackManager can be initialized without any tracks, but I haven't checked if the vispy TrackVisual works as expected.
How has this been tested?

[X] Added new tests cases for the new class trying to cover most of the edge cases.
[X] Added a new benchmark to compare its performance with the default TrackManager.
[X] The interactive mode works with the existing tracking examples.
[X] It passes the existing tracks test.

Final checklist:

[X] My PR is the minimum possible work for the desired functionality
[X] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[X] I have added tests that prove my fix is effective or that my feature works
[X] If I included new strings, I have used trans. to make them localizable.
For more information see our translations guide.

cc @quantumjot @jni @DragaDoncila

I changed the variable interactive_mode to the existing enable as suggested by @alisterburt.

Hi @JoOkuma - this looks exciting! I'm going to take a look at the PR over the next couple of weeks and try to provide some feedback for you from our perspective.

a little extra context on @JoOkuma's name change
because we already use layer.interactive to control whether the scene can be manipulated the name interactive might be a little confusing, editable is used in the points layer so we reuse here
https://github.com/napari/napari/blob/dbf0fbc62e9bdd974cddfdf9be49085918992cb5/napari/layers/points/points.py#L1286-L1291

Hi @JoOkuma!
This is very exciting! Thanks for making the PR. 😊
I've only had a fast pass so far. My biggest concern is going with a custom graph data structure as opposed to something standard in the ecosystem such as networkx. Have you explored that idea at all? As far as I can tell, a networkx DiGraph would do everything you need here with minimal (if any) performance cost, and you'd get some traversal algorithms for free. (Not sure yet whether they would suit your purposes directly.) In addition to having some built-in algorithms, another advantage of using nx is that more users will be familiar with the data structure, so more users would be able to contribute improvements in the future.
Coincidentally, the ELEPHANT paper just came out, and I found this supplementary file, describing their space-efficient and editable graph data structure, very interesting. I wouldn't say we need to emulate it straight away, but it is something we should keep in mind as a possible target to implement as we iterate and aim for very fast performance.
I also would like to get this PR to a point where we don't need to maintain two separate managers. From what I understand of the current implementation, given the caching of the serialization (this is a clever way to make a minimal PR, btw! 👏), the time costs measured in your benchmarks are one-time costs, and subsequent operations (e.g. slicing around in the volume) should be identical between the two managers? If that is the case, I personally would favour only keeping the new stuff.

Hi @JoOkuma, I took an initial look and made some minor performance refactor suggestions in JoOkuma/napari#1 that give up to 25% reduction in initialization time with size=1,000,000 on my system. I have not yet looked into potential larger scale reorganizations as mentioned by @jni in the prior comment.

@grlee77 Thanks for the PR, I left a comment on the PR itself.
@jni I was concerned with NetworkX because it depends on matplotlib.
Also, I tried using it before in some other applications and it was really slow. But it might be worth the shot because our implementation is entirely in python as well.
I'm not sure if you have any experience with igraph, it's much faster [1] but I'm not sure how portable it's. Additionally, our graph transverse operation for serialization is custom because the tracks can have splits and merge so there might not be any benefits in using a C library if we do this in Python.
[1] https://www.timlrx.com/blog/benchmark-of-popular-graph-network-packages-v2

I forgot to answer this.

From what I understand of the current implementation, given the caching of the serialization (this is a clever way to make a minimal PR, btw! clap), the time costs measured in your benchmarks are one-time costs, and subsequent operations (e.g. slicing around in the volume) should be identical between the two managers? If that is the case, I personally would favour only keeping the new stuff.

Slicing is identical if the data didn't change. If the user updated the data the new implementation only needs to serialize the data, so it's much faster (3rd table vs 1st table).
I'll try to implement the slicing of the tracks in the next couple of days so the slicing should get even faster.

@JoOkuma

I was concerned with NetworkX because it depends on matplotlib.

Um, no it doesn't?
https://github.com/networkx/networkx/blob/main/setup.py#L165
and:
 $ conda create -n nx python=3.10
Collecting package metadata (current_repodata.json): done
Solving environment: done

[SNIPPED]

 $ conda activate nx
 $ pip install networkx
Collecting networkx
  Downloading networkx-2.6.3-py3-none-any.whl (1.9 MB)
     |████████████████████████████████| 1.9 MB 4.7 MB/s
Installing collected packages: networkx
Successfully installed networkx-2.6.3

Conversely, I am much more concerned about igraph because it depends on compiled code.

@jni Uhm..., I thought default was required by default.

Also, I tried using it before in some other applications and it was really slow. But it might be worth the shot because our implementation is entirely in python as well.

And yes, my main point is that I suspect your custom implementation will probably be equally slow. But maybe not! But we should check it out anyway.

I thought default was required by default.

Interesting! Evidently not — probably some relic from earlier versions?

I updated the benchmarks to reflect more closely what I expect the tracking data to be like --- more tracks, 100 was too few for 1mi plus nodes. When n_tracks is greater than 10 times size I reduce the n_tracks.
In these scenarios, the existing manager initialization is not as bad, but it's still not adequate for 1mi plus nodes.
IMPORTANT: different computer from the previous benchmark.
Initialization benchmark
TrackManager
             ========= ========== ========== ==========
              --                    n_tracks
              --------- --------------------------------
                 size       10        100        1000
              ========= ========== ========== ==========
                 500     1.18±0ms   1.00±0ms   2.45±0ms
                 5000    7.82±0ms   8.12±0ms   12.8±0ms
                50000    313±0ms    57.6±0ms   37.6±0ms
                500000   38.7±0s    4.23±0s    821±0ms
               5000000    failed     failed    52.0±0s
              ========= ========== ========== ==========

InteractiveTrackManager
              ========= ========== ========== ==========
              --                    n_tracks
              --------- --------------------------------
                 size       10        100        1000
              ========= ========== ========== ==========
                 500     5.83±0ms   24.2±0ms   12.4±0ms
                 5000    24.4±0ms   33.6±0ms   99.2±0ms
                50000    136±0ms    144±0ms    303±0ms
                500000   1.34±0s    1.33±0s    1.46±0s
               5000000   13.4±0s    13.5±0s    13.9±0s
              ========= ========== ========== ==========

I also updated the _view_data method so only a time_window is serialized given the current time point and the tail (head) length when using the InteractiveTrackManager.
Serialization benchmark (given a window)
              ========= ========== ========== ========== ========== ==========
              --                             time_window
              --------- ------------------------------------------------------
                 size       10         50        100        200        400
              ========= ========== ========== ========== ========== ==========
                 500     686±0μs    1.01±0ms   762±0μs    995±0μs    1.51±0ms
                 5000    1.56±0ms   4.60±0ms   4.75±0ms   4.67±0ms   5.01±0ms
                50000    1.46±0ms   5.27±0ms   10.0±0ms   18.9±0ms   38.5±0ms
                500000   1.60±0ms   5.51±0ms   10.1±0ms   19.2±0ms   39.9±0ms
               5000000   1.70±0ms   5.82±0ms   11.0±0ms   19.9±0ms   39.1±0ms
              ========= ========== ========== ========== ========== ==========

I think this would be enough to interact and update the canvas in real-time.
I still need to do some additional things:

[ ] test implementation with NetworkX;
[ ] track_color given a view needs to be implemented (disabled for testing);
[ ] _extent_data, _slicing_indices and _ndim is forcing the data to be serialized;
[ ] write tests to _view_data.

Remarks
Our tracks' data format is convenient for the user but is not very performant. Other tools such as TrackMate have their own file format. I like how it's but we should take this into consideration when it takes a few seconds to load a very large dataset in pure python.

@JoOkuma I was wondering if you could give us an update on the status of this PR when you get the chance. thanks!! cc @jni

Hi @sofroniewn, I need to rework a couple of things on this PR. I added additional features that I'm using on my plugin that should not be added to napari.
While using this fork on our datasets a few things got clear to me:

The existing TracksManager should be replaced, it's very slow to large datasets taking more than 40 minutes to load with 2 million + nodes, depending on the number of tracks. Therefore, using it as an intermediate for the InteractiveTracksManager isn't a good option.
The tracks data format (table) could be reworked, it contributes to the slow initialization of the tracks layer, and actions (e.g. add node, split tracks) yield arbitrary changes to the table, adding complexity to following the nodes and tracks ids.

For the first item, I need to make sure that this new implementation is on par with the performance of the existing TracksManager.
I think we're not that far from this.
Regarding the data format, I think we should pick a graph library and format to be our standard (relevant to #4274). My discussion with @jni and @DragaDoncila about this stopped at: networkx is slow; scipy csgraph could be an option and the coordinates information could be supplied through the layer's features.
This is blocking me.

@sofroniewn, I think we should close this PR. I'm working on the napari-graph in my spare time and it will be a better solution.
With the recently ranged slice, I think it might be doable to have a single graph layer for tracks and graphs, we'll see.


chore(release): 2.12.0

See CHANGELOG

AWS CodeBuild CI Report

CodeBuild project: githubautobuild-for-cdk-v2
Commit ID: 6af95bcdc62022c271ab133d291d328fef99c13a
Result: SUCCEEDED
Build Logs (available for 30 days)

Powered by github-codebuild-logs, available on the AWS Serverless Application Repository

AWS CodeBuild CI Report

CodeBuild project: githubautobuild-for-cdk-v1
Commit ID: 6af95bcdc62022c271ab133d291d328fef99c13a
Result: SUCCEEDED
Build Logs (available for 30 days)

Powered by github-codebuild-logs, available on the AWS Serverless Application Repository

AWS CodeBuild CI Report

CodeBuild project: githubautobuild-for-cdk-v2
Commit ID: 28f1a637d5463b7e4a0ad5eafcd53cfe3fd0d2db
Result: SUCCEEDED
Build Logs (available for 30 days)

Powered by github-codebuild-logs, available on the AWS Serverless Application Repository


Added Frontend Project - Temperature Converter

Title and Issue number
I have added Frontend Project - Temperature Converter.
Close #3362 #3361

Checklist:

[x] I have mentioned the issue number in my Pull Request.

@TusharKesarwani Please review this pull request.


Inconsistent behaviour for buttons with formmethod="dialog" rendered on the client

A <button formmethod="dialog" /> within an ActionForm within a dialog submits the form and does not close the dialog when rendered on the client (as a dynamic island). It works fine when rendered on the server (closing the dialog and not submitting the form).
Tested with Leptos 0.6.10.

Thanks. I like this issue because it is small, easy to fix, and allows us really easily to support a very nice part of the platform (<dialog>) better.
Repro for posterity:
use leptos::{*, html::Dialog};
use leptos_router::*;

#[server]
pub async fn server_thing() -> Result<(), ServerFnError> {
    println!("running on server");
    Ok(())
}

#[component]
pub fn App() -> impl IntoView {
    let action = create_server_action::<ServerThing>();
    let dialog_ref = create_node_ref::<Dialog>();
    create_effect(move |_| if let Some(dialog) = dialog_ref.get() {
        dialog.set_open(true);
    });
    view! {
        <dialog node_ref=dialog_ref>
            <ActionForm action>
                <button type="submit">"Call server fn"</button>
                <button formmethod="dialog">"Close dialog"</button>
            </ActionForm>
        </dialog>
    }
}


Avoid GNUC warnings when defining DECLARE_DEPRECATED

We need to check that GNUC is defined before trying to use it.
This demands a slightly different way to define DECLARE_DEPRECATED.

Merged.
3550d9159f0c89b2ae1c01e81e31649d1b357d06 Avoid GNUC warnings when defining DECLARE_DEPRECATED

Except that red cross from travis was relevant. And now https://travis-ci.org/openssl/openssl/branches is red...


How to use same session for calling different remote procedure

Environment
Window 10
Crossbar io router
Problem Facing:
I want to maintain same session for calling different  remote procedure as per request.
Is there any sample available exampling how to maintain same session for multiple calls?
Can anybody please help me out on this?

Just add 2 calls in sequence:
session->call("com.examples.calculator.add2", arguments, call_options).then(...);
session->call("com.examples.calculator.mul2", arguments, call_options).then(...);

https://github.com/crossbario/autobahn-cpp/blob/master/examples/caller.cpp#L104
when the 2nd call depends on the result from the 1st, the 2nd call needs to happen in the body of the 1st:
session->call("com.examples.calculator.add2", arguments, call_options).then(
...
    session->call("com.examples.calculator.mul2", arguments, call_options).then(...);
...
);


Config Setup Script

This PR includes a python script for generating a .pyquil_config by asking the user for the required information.
Also includes a reference fix in the README, from pyquil.forest to pyquil.api.
Also, I am not sure why this PR includes changes from the master branch of pyquil. Any ideas?

Moving to a new PR (due to fragmenting issues)


Game developer mode

This branch serves as the deploying branch on the staging server: http://stg-cadet-frontend.s3-website-ap-southeast-1.amazonaws.com

Pull Request Test Coverage Report for Build 2738

0 of 14 (0.0%)  changed or added relevant lines in 4 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage decreased (-0.08%) to 37.132%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

src/components/academy/game/game.js
0
1
0.0%

src/components/academy/game/save-manager/save-manager.js
0
1
0.0%

src/components/academy/game/story-manager/story-manager.js
0
3
0.0%

src/components/academy/game/create-initializer.js
0
9
0.0%

Totals

Change from base Build 2735:
-0.08%

Covered Lines:
2494

Relevant Lines:
6022

💛  - Coveralls


Develop

Codecov Report

Merging #33 into master will decrease coverage by 0.53%.
The diff coverage is 70.83%.

@@            Coverage Diff             @@
##           master      #33      +/-   ##
==========================================
- Coverage   93.85%   93.31%   -0.54%
==========================================
  Files          58       58
  Lines        1025     1047      +22
  Branches      103      107       +4
==========================================
+ Hits          962      977      +15
- Misses         32       38       +6
- Partials       31       32       +1

Impacted Files
Coverage Δ

lib/connection/connections/HttpConnection.ts
92.10% <25.00%> (-7.90%)
:arrow_down:

lib/connection/connections/TcpConnection.ts
76.92% <25.00%> (-9.45%)
:arrow_down:

lib/HiveClient.ts
98.11% <87.50%> (-1.89%)
:arrow_down:

lib/result/JsonResult.ts
80.95% <100.00%> (+2.00%)
:arrow_up:

Continue to review full report at Codecov.

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


Update sbt-wartremover, wartremover to 3.0.10

Updates

org.wartremover:sbt-wartremover
org.wartremover:wartremover

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

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

Or, add this to slow down future updates of this dependency:
dependencyOverrides = [{
  pullRequests = { frequency = "30 days" },
  dependency = { groupId = "org.wartremover" }
}]

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

Superseded by #1707.


feat(ram): Add flat Elf loading capabilities

This adds the Elf format as an additional pre-loadable file format. Similar to the compressed ones.

Thanks for taking a look!

Are these files written by you and Axelera AI? If some functions are coming from the Internet, we may need to add license or comments there.

Yes. They are my IP and therefore need to go under Axelera's name.

In some cases, we may want to disable the loading of ELF files, for example, when the raw RISC-V instruction is the same as the magic number in the ELF header. Would you mind add a macro IMAGE_ELF with a default value of 1 to the Makefile? When the C macro NO_IMAGE_ELF is defined, let the isElfFile function return false. You may refer to https://github.com/OpenXiangShan/difftest/blob/master/Makefile#L154-L160 for a similar macro. If you have other ways to configure it, feel free to let me know.

Done! I think it is best to stay within the same configuration scheme.
I've also made the loading a bit more robust with a couple of sanity checks.

But I'm now thinking of another question: how does the ELF address space align with our memory layout? Our RAM has a base address of 0x8000_0000. If the base_addr (at line 101) is the same, everything works fine. Otherwise, if the ELF is position dependent, what should be the expected behavior? If the base is higher than 0x8000_0000, we can move it to the base. But what if the base is lower than 0x8000_0000 (most RISC-V user-level ELF has a base at 0x10000)? Should we report a warning in such cases?

I was thinking the same. Afaik the best we can do is sanity-check the base address with the define PMEM_BASE (and issue a warning if it doesn't match)?
Basically what is happening now is that this implementation blindly copies the content of the elf to the mem base address. If the code is position dependent this will of course fail. But you basically run in the same limitation with objcopy which I assume you use to convert the elf's to binaries, right?

But you basically run in the same limitation with objcopy which I assume you use to convert the elf's to binaries, right?

Yes. This is exactly the core reason we didn't implement ELF loader before. The most significant improvement brought by ELF loader is the bin size, which may vary between different workloads.
I think we can wait for the users' feedback on the ELF feature before merging. Maybe tomorrow. Thanks for your patience.

I was thinking the same. Afaik the best we can do is sanity-check the base address with the define PMEM_BASE (and issue a warning if it doesn't match)?

Great if you can help add the warning.

@yaozhicheng @Makiras How do you handle this issue in your environment? The base address or memory layout is fixed in the RTL as well as in the simulation framework now. It seems the sparse memory implementation for ELF does not address this issue as well.

We did not handle the issue; we think that if the ELF file designates an address, it should be loaded to that corresponding location without alteration. If the program fails to run, the problem should be addressed at its origin, which is where the ELF file is generated.

@yaozhicheng @Makiras How do you handle this issue in your environment? The base address or memory layout is fixed in the RTL as well as in the simulation framework now. It seems the sparse memory implementation for ELF does not address this issue as well.

We did not handle the issue; we think that if the ELF file designates an address, it should be loaded to that corresponding location without alteration. If the program fails to run, the problem should be addressed at its origin, which is where the ELF file is generated.

Thanks. I think we can merge this PR now.

Thanks everyone for contributing to this PR!


fix accidental use of Iterators.repeat which doesn't exist (it is actually Base.repeat).

In Julia 1.9, the Iterators module is a baremodule and you can no longer access Base functions though it. Iterators.repeat was in fact doing the equivalent of Iterators.Base.repeat so we can just drop the Iterators prefix all together.
This fixes the tests in 1.9.

Nvm, https://github.com/ctrekker/Deductive.jl/pull/27.


Add MTN to constants/carriers (bug 1088

Looks like this was forgotten in 0db0821.
r? @robhudson

r+


Add option to silence ticking sound

For some with ADD/ADHD (myself included) who could benefit from this app, the ticking sound completely negates any potential benefit. I uninstalled the app within 15 seconds of my first session because of how intrusive it is for me, sadly.

This option already exists. You can find it by right-clicking the icon in the taskbar and going to Options > Sounds > Enable tic-tac


fix: Correct mutex scope in execute_engine()

Description
//tests/cpp:test_runtime_thread_safety test fails inconsistently.
Currently mutex protects only enqueueV3(), it should protect setTensorAddress as they are part of the same operation.
Below logging confirms race condition.
execute_engine() {
compiled_engine->exec_ctx->setTensorAddress()
+std::cout << gettid() << " setTensorAddress " << outputs[pyt_idx].data_ptr() << std::endl;
std::unique_lockstd::mutex lock()
compiled_engine->exec_ctx->enqueueV3()
+std::cout << "enqueueV3" << std::endl;
759630 setTensorAddress 0xaeeffaa00
759626 setTensorAddress 0xaeeffba00
759624 setTensorAddress 0xaeeffca00
759631 setTensorAddress 0xaeeffda00
759629 setTensorAddress 0xaeeffea00
759627 setTensorAddress 0xaef5f5a00
759633 setTensorAddress 0xaef5f6a00
759628 setTensorAddress 0xaef5f7a00
759632 setTensorAddress 0xaef5f8a00
759625 setTensorAddress 0xaef5f9a00
759630 enqueueV3   //expects 0xaeeffaa00, but 759625 thread interrupted and set wrong output tensor
759626 enqueueV3
759624 enqueueV3
759631 enqueueV3
759629 enqueueV3
759627 enqueueV3
759633 enqueueV3
759628 enqueueV3
759632 enqueueV3
759625 enqueueV3
Fixes # (issue)
Type of change
Please delete options that are not relevant and/or add your own.

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

Checklist:

[x] My code follows the style guidelines of this project (You can use the linters)
[x] I have performed a self-review of my own code
[x] I have commented my code, particularly in hard-to-understand areas and hacks
[ ] I have made corresponding changes to the documentation
[x] I have added tests to verify my fix or my feature
[ ] New and existing unit tests pass locally with my changes
[ ] I have added the relevant labels to my PR in so that relevant reviewers are notified

@keehyuna rebase once @zewenli98 has the CI fixes merged


Tutorial on page and diff version

Hi, this is not exactly an issue as little inconvenience.
Will be tutorial on page https://docs.angularjs.org/tutorial/step_11 Custom filters matching diff on github?
Oh great, now step 11 is mixed with step 13 on description page. When the changes to tutorial will be finished? So I can continue with it, or start from scratch. I was just in the middle of tutorial.
Git changes are already done completely? Or there will be more in next days?

The tutorial changes are done (they were all done yesterday). In case you haven't already, make sure to refresh the page (https://docs.angularjs.org/tutorial) to get the new content. You also need to clone the repo again (with --depth=16 this time, because there are a couple new steps).
--
BTW, the old tutorial is still available on the 1.4.x docs and the corresponding code is on the pre-1.5.0-snapshot branch of the angular-phonecat repo, but the links to code diffs and live demos aren't working properly (they are pointing to the new code/demos).
I will fix it soon (hopefully today), in case you want to continue with tge old one, but I really recommend checking out the latest version.
--
I understand this is pretty inconvenient for people being halfway through the tutorial, but I hope the new content is worth it :smiley:

I realised this morning that it can be a browser cache. Now it is working fine. I will start again with new version. Thanks for update.


Only issue invalid base64 warning on successful decode

Description
To make the patch minimally invasive, this attempts to decode the given jwt in strict base64 mode only after a successful full decode and validation.
Most jwts are small, so this should have minimal performance impact, though it does require decoding twice.  It is possible to fix the issue and only decode once, but it would be more invasive.
A big advantage of this approach is the use of :uplevel when calling Kernel#warn, so that the calling location that triggers the warning is included in the warning message, greatly simplifying debugging.
Checklist
Before the PR can be merged be sure the following are checked:

[X] There are tests for the fix or feature added/changed
[X] A description of the changes and a reference to the PR has been added to CHANGELOG.md. More details in the CONTRIBUTING.md

Thanks for taking the time thinking about this. In this approach the concern is that now it's doing this for every successful decode "just in case".

Thanks for taking the time thinking about this. In this approach the concern is that now it's doing this for every successful decode "just in case".

Correct.  It's a simpler approach.  I'm not sure what the performance difference is, but I expect it to be small unless the JWTs are quite large.  Would you like me to benchmark both approaches?

My only argument against this is that it will affect all the requests that have no issue with base64 encoding, the assumption that JWTs are small is a bit dangerous :)
Benchmarking would be interesting. On the other hand one could focus on trying to get a new major version out there that would just remove all this complexity of being nice to the user.

Here's a benchmark:
require 'benchmark/ips'
require 'jwt'

h = {}
ARGV[0].to_i.times{|i| h[i.to_s] = i}
key = '1'*32
jwt = JWT.encode(h, key)

Benchmark.ips do |x|
  x.report('decode'){JWT.decode(jwt, key)}
end

Performance of #601 is about 5-10% worse than #600 depending on the size of the JWT:
#601:
0 entries:
              decode     18.119k (_ 2.8%) i/s -     91.884k in   5.075099s
10000 entries:
              decode    199.303 (_ 3.0%) i/s -      1.008k in   5.061691s

#600:
0 entries:
              decode     18.959k (_ 1.6%) i/s -     94.770k in   5.000008s
10000 entries:
              decode    220.187 (_ 3.6%) i/s -      1.113k in   5.060928

Parsing JSON is much slower than decoding base64, which is why even for large JWTs, this will never result in a major slowdown.  Up to you whether the simpler implementation and easier debugging (via uplevel) in this approach is worth the slight decrease in performance.

Closing as fixed by #600.


AADSTS7000218: The request body must contain the following parameter

Bug Report
Using basically the same code as https://github.com/Azure/azure-sdk-for-go/issues/21814, but in cred.GetToken, we are getting:
{
"error": "invalid_client",
"error_description": "AADSTS7000218: The request body must contain the following parameter: 'client_assertion' or 'client_secret'. Trace ID: <...> Correlation ID: <...> Timestamp: 2024-02-14 02:40:29Z",
"error_codes": [
7000218
],
"timestamp": "2024-02-14 02:40:29Z",
"trace_id": "<...>",
"correlation_id": "<...>",
"error_uri": "https://login.microsoftonline.com/error?code=7000218"
}
We have "Allow public client flows" enabled as a Web configured app.

Does your application have http://localhost registered as a redirect URI for "mobile and desktop applications"? Entra considers applications having only a "web" redirect URI to be confidential clients i.e., it requires them to authenticate with a secret.


Enable all components to be enabled or disabled

This PR enables all existing components to be toggled on/off. It does not include the EDO or Git component.

Good spot.


Ensure all references to the project use ActiveMQ Artemis

Replaces any instances of "ActiveMQ" with "ActiveMQ Artemis"

merging


Revised Submission

All the revisions have been submitted and I've created a release.  Thanks all for your work on the revisions.

Many thanks @emhart

Agreed!  thanks @emhart for herding this fine group of cats!

So has this been resubmitted then?

Yes
On Mon, Jul 11, 2016 at 7:10 PM Naupaka Zimmerman<EMAIL_ADDRESS>wrote:

So has this been resubmitted then?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/emhart/10-simple-rules-data-storage/issues/142#issuecomment-231902389,
or mute the thread
https://github.com/notifications/unsubscribe/AA_cI5JDUSKRv4nvX9lko9j_swP-RDDGks5qUtt1gaJpZM4JHUet
.

@emhart mind if I delete the merged branches? We have quite a few now!

Sure.
On Thu, Aug 11, 2016 at 7:03 AM Sarah Mount<EMAIL_ADDRESS>wrote:

@emhart https://github.com/emhart mind if I delete the merged branches?
We have quite a few now!
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/emhart/10-simple-rules-data-storage/issues/142#issuecomment-239170109,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AA_cI_I8jS7ZUJSpPPDtvkreovIe2bhpks5qeyumgaJpZM4JHUet
.

OK done! There are two branches with un-merged commits: rule-9.2 and preprintv2. I'm not sure what their status is.


Add missing f-string to warning.

A PR to fix a missing fstring in a ValueError warning log. This will show the document did of the warning

Thanks!


[Suggestion] Celestial Notes in Research

It can be pretty frustrating if you have a good research going, only to either scrap that research, research Alchemy (which you maxed out) or wait 7 in-game days (especially early game) to wait for a moon phase.
Suggesting to add the option to substitute one Moon Phase with another, possible with malus to progress gained, like -10 Progress for each phase difference. (maybe add a minimum, if totally different Phases)
For Example, if Sun + Full Moon gives 40 Progress, Sun + Half Moon give 20, Sun + New Moon gives 5.
Also, as a little Side Suggestion: Extra progress gain or loss, due to accidents or results. For Example, "Result was disappointing",  "Experiment failed", leading to less/ loosing progress. For more progress something like "Discovered new possibilities", "Unexpected, but welcome Results", "Better Compatibility found"

This issue was moved to Azanor/thaumcraft-suggestions#452


Support architectural delay slots

Some architectures make use of branch delay slots, such as MIPS and SPARC; some even more exotic ones have load delay slots as well. Often enough there are also instructions with results only usable after certain number of cycles.
I'm trying to port Cranelift to MIPS64. I glanced over the codebase and found no support for filling the delay slots; I had to emit NOPs after every branch in the meantime. (Indeed I didn't expect any because all currently supported architectures have no delay slots.)
So what's the current plan regarding this? A roadmap or implementation guide would be great!

With the new backend framework can this be done for each backend that needs it individually?

This would probably need to be done at the MachBuffer level in the new backend infrastructure, since it edits branches late, and a disappearing branch could otherwise change semantics unexpectedly. Let's leave this open to track, and we can sketch it out more when needed.


Error fix: Specify "standard_names=False" when loading pdb into mdtraj

Description
This change fixes an error where, for certain host PDBs, pAPRika can lose CONECT bond information during the release_apply_parameters windows of APR calculations. The error is given here (some line numbers will differ):
Traceback (most recent call last):
  File [...]/openff-evaluator/openff/evaluator/workflow/protocols.py", line 1208, in _execute_protocol
    protocol.execute(directory, available_resources)
  File "[...]/openff-evaluator/openff/evaluator/workflow/protocols.py", line 695, in execute
    self._execute(directory, available_resources)
  File "[...]/openff-evaluator/openff/evaluator/protocols/paprika/forcefield.py", line 93, in _execute
    build_protocol.execute(directory, available_resources)
  File "[...]/openff-evaluator/openff/evaluator/workflow/protocols.py", line 695, in execute
    self._execute(directory, available_resources)
  File "[...]/openff-evaluator/openff/evaluator/protocols/forcefield.py", line 683, in _execute
    topology = Topology.from_openmm(
               ^^^^^^^^^^^^^^^^^^^^^
  File "[...]/openff/utilities/utilities.py", line 80, in wrapper
    return function(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "[...]/openff-toolkit/openff/toolkit/topology/topology.py", line 1495, in from_openmm
    raise ValueError(msg)
ValueError: No match found for molecule C. This would be a very unusual molecule to try and parameterize, and it is likely that the data source it was read from does not contain connectivity information. If this molecule is coming from PDB, please ensure that the file contains CONECT records. The PDB format documentation (https://www.wwpdb.org/documentation/file-format-content/format33/sect10.html) states "CONECT records are mandatory for HET groups (excluding water) and for other bonds not specified in the standard residue connectivity table."

Todos

[x] Speciy that MDTraj should not change naming when loading PDB files in protocols/paprika/coordinates.py, to prevent an error.

Note
The file protocols/paprika/coordinates.py contains one other instance where an MDTraj trajectory is created using mdtraj.load_pdb(), located inside _atom_indices_by_role(), but I haven't encountered any errors related to that instance.

@mattwthompson I can appreciate your apprehension. I haven't encountered any unintended consequences of making the change this PR suggests, but that doesn't mean there are provably none. Here is a little script showing two example PDBs, one that does not have this issue and one that does. The PDB that does have this issue, "hse_x02", can be corrected when standard_names=False is specified in mdtraj.load_pdb() (line 18).
import mdtraj
import requests

urls = [
    "https://raw.githubusercontent.com/slochower/host-guest-benchmarks/steroids/taproom/systems/bcd/hex/b-hex-p.pdb",
    "https://raw.githubusercontent.com/slochower/host-guest-benchmarks/steroids/taproom/systems/hse/x02/b-x02-p.pdb",
]

system_names = ["bcd_hex", "hse_x02"]

def has_CONECT_issue(url, system_name):

    raw_pdb = requests.get(url)
    with open(f"{system_name}.pdb", "wb") as f:
        f.write(raw_pdb.content)

    mdtraj_system = mdtraj.load_pdb(f"{system_name}.pdb")  # Problem line

    # Here the mdtraj trajectories are sliced to only contain the atoms of the host molecule, identified by a list of indices.
    # The list of indices determined by pAPRika is 0..146 for bcd and 0..209 for hse
    if system_name == "bcd_hex":
        mdtraj_system_sliced = mdtraj_system.atom_slice(range(0, 147))
    elif system_name == "hse_x02":
        mdtraj_system_sliced = mdtraj_system.atom_slice(range(0, 210))

    mdtraj_system_sliced.save(f"{system_name}-mdtraj.pdb")

    with open(f"{system_name}-mdtraj.pdb", "r") as f:
        for line in f.readlines():
            if "CONECT" in line:
                return False
        return True

for i, url in enumerate(urls):
    print(
        f"System {system_names[i]} has the CONECT issue: {has_CONECT_issue(url, system_names[i])}\n"
    )

I ran this script with mdtraj 1.9.9 (py311h90fe790_1). Looking at the PDB files produced by running the script will allow you to directly see the difference between raw and mdtraj-processed CONECT records. I think the script highlights the issue sufficiently, but if it's unclear please let me know.

Here is a list of the major differences between the bcd_hex PDB file and the hse_x02 PDB file:

hse_x02 has no CRYST line at the top
hse_x02 has no TER line after the host
hse_x02 has hydrogens after heavy atoms, instead of in-between heavy atoms
hse_x02 has 1 residue for the entire complex, with two chains (one for host, one for guest)
bcd_hex has no specified residues, with 1 chain per host monomer and 1 chain for the guest (7+1=8 total)

My guess to why the default mdtraj loading works for bcd systems and not hse systems is that it's due to the 4th and 5th difference, but I haven't checked this rigorously. The thing that makes me think this should be less of a "fix your inputs PDBs" solution and more of a "fix the way PDBs are handled" solution is that, to my understanding, the hse PDB is valid and therefore ought to be accepted.

Sorry, I'm still a little confused - MDTraj can load those files in just fine, but gets confused when writing the CONECT records of the HSE host?
Any of the issues you see in the HSE file seem like data problems to me - why, for example, should one have a TER separating the host and guest and the others not?
Does pAPRika do alchemical transformations that muck with the bond graph?
I'm iffy on this as-is since these seem like input data issues, but if there was a try-except (try loading it as-is, and if that fails fall back to using this flag) I'd be more amenable to it.


Meetup Suggestion: Bitcoin Lawrence Kansas Meetup

Thanks for making a suggestion for a new meetup.
Please note: Only suggest bitcoin-only meetups.
Meetups which promote any coin or token other than Bitcoin are not suitable for listing.
Altcoin's are only mentioned in the context of warnings or lessons learnt for bitcoin.
Required:

Name of Meetup: Bitcoin Lawrence Kansas (Official LFK Bitcoin Meetup Group)
Location Of Meetup: Lawrence, Kansas
At least one of the following:

Meetup Page (or similar): https://www.meetup.com/bitcoin-lawrence-kansas-meetup-group/
Telegram Group (or similar):
Nostr npub:  npub16v2jz5qscnj58ka3q4vxkumrgf9ghw46qgttxdzp6yyt7ffqp39sc9jk5e
Website:

Optional

Name of Organiser(s) & Twitter Handle: Shawn Jackson & Jon Sparks. @LFKbitcoin
Links showing public support: >>>  https://twitter.com/LFKbitcoin/status/1678540739670597633?s=20
Tweet your commitment

As the organiser of [Bitcoin Lawrence Kansas (Official LFK Bitcoin Meetup Group)] Meetup I can confirm that the meetup is bitcoin-only
-The meetup is bitcoin focused.
-'Altcoins' are scams and are not promoted in talks/presentations at our meetups.
#bitcoinonlymeetups @bitcoinonly_

Added our Nostr npub in the event that Twitter forces unappealing changes to their platform.


Manifest Generator for ArgoCD Mgmt HelmChartProxy

/kind feature
Describe the solution you'd like
Needed for better templating and passing generated ssh-keys to the yaml in
order to use private Repos.
Anything else you would like to add:

Solved.
New Manifest will be generated to .frigg dir, and replaces a PLACEHOLDER string, which will be filled with the actual url and the github username provided via os.Env "GITHUB_USERNAME".


asciiGraphWidth does not work well in multiproject builds

https://github.com/CycloneDX/cdxgen/blob/439f871dc1e02b3fa2acf53620a028f8fcdefea8/index.js#L1760
in this line (and in the following line 1764) there set asciiGraphWidth := 400 setting is applied only to the root-level sbt project. I have a project with multiple subprojects, and I've faced some strange entries in my SBOM, e.g.:
      "group": "",
      "name": "com.fasterxml.jackson.core",
      "version": "jackson-ann..",
      "licenses": [],
      "purl": "pkg:maven/com.fasterxml.jackson.core@jackson-ann..?type=jar",
      "type": "library",
      "bom-ref": "pkg:maven/com.fasterxml.jackson.core@jackson-ann..?type=jar",

They correspond well to truncated entries in dependencyTree cropped to 80 chars.
And this all was caused by the fact, that although width was set to 400 for the root-level project, the other subprojects kept their default setting of 80.
My recommendation: replace the line by set Global / asciiGraphWidth := 400 (as a workaround I've set such global in my project - and it worked very well).

@puchta, could you kindly send a PR?

@puchta, can you fork the project and send a PR from your fork? It would be great to have you as a contributor!

https://github.com/CycloneDX/cdxgen/pull/655


Solution for Chapter07

Hi
Can't help but notice there is no solution given for Chapter 07.
With solutions, students would be able to solve and fix their code respectively.
Rgrds

Hi @jasonwcc, can you provide some more detail on which exact guided exercise or lab is missing what you expect? At a quick glance, I see solutions for the lab exercises in DO400, so I am not sure if you have the problem elsewhere or I am missing something.
Also, in the future, it would be easier to have you use the "Feedback" button in ROL to report this. That will open a Jira issue and associate it to the actual course repo - not this example apps repo. It will also provide more clarity and detail on which page/exercise/lab you see the problem and our LX team can do some triage before sending it our way.
Thanks!


feat: add storyblok richtext

This PR is still referenced as coming soon in https://github.com/storyblok/richtext/?tab=readme-ov-file#react - is the recommended approach still to follow the steps above while we wait for this PR?

@TomRadford that's correct

Close in favor of #1283


Cannot load Q# language extension

I downloaded the version 0.3.1811.203 and installed it.
I created a Q# project but I  get the following message:
There was an error activating the remote language server, Q# Language Extension. For more details, please run devenv /log and examine ....\ActivityLog.xml file.
I ran it and I found a problem  related to Q# language extension
_
ERROR System.SystemException: The trust relationship between the primary domain and the trusted domain failed. at System.Security.Principal.NTAccount.TranslateToSids(IdentityReferenceCollection sourceAccounts, Boolean& someFailed) at System.Security.Principal.NTAccount.Translate(IdentityReferenceCollection sourceAccounts, Type targetType, Boolean& someFailed) at System.Security.Principal.NTAccount.Translate(IdentityReferenceCollection sourceAccounts, Type targetType, Boolean forceSuccess) at System.Security.Principal.NTAccount.Translate(Type targetType) at System.Security.AccessControl.CommonObjectSecurity.ModifyAccess(AccessControlModification modification, AccessRule rule, Boolean& modified) at System.Security.AccessControl.CommonObjectSecurity.AddAccessRule(AccessRule rule) at System.IO.Pipes.PipeSecurity.AddAccessRule(PipeAccessRule rule) at Microsoft.Quantum.QsLanguageExtensionVS.QsLanguageClient.d__24.MoveNext() --- End of stack trace from previous location where exception was thrown --- at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd(Task task) at Microsoft.VisualStudio.LanguageServer.Client.RemoteLanguageServiceBroker.RemoteLanguageClientInstance.d__49.MoveNext() --- End of stack trace from previous location where exception was thrown --- at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at Microsoft.VisualStudio.Threading.ThreadingTools.d__12.MoveNext() --- End of stack trace from previous location where exception was thrown --- at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at Microsoft.VisualStudio.LanguageServer.Client.RemoteLanguageServiceBroker.RemoteLanguageClientInstance.d__47.MoveNext() --- End of stack trace from previous location where exception was thrown --- at Microsoft.VisualStudio.Telemetry.WindowsErrorReporting.WatsonReport.GetClrWatsonExceptionInfo(Exception exceptionObject)
_
I am using Visual Studio 2017 enterprise 15.9
I uninstalled VS, cleaned up the registry and installed again.
The issue is still there.
I have no intellisense/tooltips and *.qs are not recognized as Q# code, no fileicons...

Would you mind downloading the newest version and checking if the issue still persists? I believe this was a language setting related bug that should be fixed.

@bettinaheim  Thanks for writing back. This issue can be closed as it was resolved with a version that was released in November last year. (0.3.1811.1501)
https://stackoverflow.com/questions/53317490/cannot-load-q-language-extension

Great, yes, I thought so. Sorry it took a while to get back to you - we are trying to keep on top of things but could definitively use a hand or two!


Add blackdoor jose related project

Codecov Report

Merging #1258 into master will increase coverage by 0.11%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master    #1258      +/-   ##
==========================================
+ Coverage   85.96%   86.08%   +0.11%
==========================================
  Files          73       73
  Lines        2508     2508
  Branches      114      114
==========================================
+ Hits         2156     2159       +3
+ Misses        352      349       -3

Impacted Files
Coverage Δ

...d/src/main/scala/io/circe/NonEmptySeqDecoder.scala
91.66% <0%> (-8.34%)
:arrow_down:

...re/shared/src/main/scala/io/circe/JsonNumber.scala
92.77% <0%> (-2.41%)
:arrow_down:

.../core/shared/src/main/scala/io/circe/Decoder.scala
84.5% <0%> (+0.28%)
:arrow_up:

...rc/main/scala/io/circe/numbers/BiggerDecimal.scala
85.38% <0%> (+0.58%)
:arrow_up:

...les/core/shared/src/main/scala/io/circe/Json.scala
79.39% <0%> (+1.81%)
:arrow_up:

...es/core/shared/src/main/scala/io/circe/Codec.scala
64% <0%> (+4%)
:arrow_up:

Continue to review full report at Codecov.

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

Thanks!


Route with multiple points (steps)

Hello,
Does the library can be used to design a route with multiple points (steps),
My goal is designing a route planner using react map Gl.
Best

Thanks for looking into react-map-gl-directions, but I'm sorry to say that it has been deprecated now & can't be used anymore.
Instead I'll suggest you use mapbox-gl-directions plugins.
Here :https://github.com/mapbox/mapbox-gl-directions
Thanks


Visual Studio Code does not show red underline for eslint errors, although the extension still works

The extension works as expected in PROBLEMS panel, there is also a lightbulb, but there is no red underline on the code:

Version: 1.53.2
Commit: 622cb03f7e070a9670c94bae1a45d78d7181fbd4
Date: 2021-02-11T11:45:54.515Z
Electron: 11.2.1
Chrome: 87.0.4280.141
Node.js: 12.18.3
V8: <IP_ADDRESS>-electron.0
OS: Darwin x64 19.4.0

Very likely a dup of https://github.com/microsoft/vscode/issues/116305. Do you have the settings described here: https://github.com/microsoft/vscode/issues/116305#issuecomment-780099359

@dbaeumer Indeed, it is, thank you and closing the issue now.


Website [RTL Guideline] Add Development guideline section content to the website page

Task types

[x] Add new Content on the website to an existing website page

Get started

[x] For existing website page update - navigate to the existing page on the live website, click on the Edit this page on GitHub text link located in the bottom left corner of the website page to get started.

Acceptance criteria (The meaning of "Done")

[ ] Updates or new Content is showing up on the live website.

Additional resources
➜ For general contribution - Please visit the Contributing page for information and process detail.
➜ For the website content publishing process - Please visit the Publishing process wiki page for detail.
➜ For how to create and submit PR - Please visit the Submitting a Pull Request section to learn more.
➜ For Markdown best practices - Please visit the Production guideline to learn more.
FAQ
How do I name the work file for website tasks?
Work files are named using the format: Name of the category + components/pattern/guideline + version.
Examples:
Components-Feature card block v1.0
Guidelines-Expressive theme v1.0
Help-Overview v1.0, etc.
How do I name an image file for a website page?
Images are named using the format: page name - section name - usage.file format
Examples:
masthead-beheavor-default.png
footer-variations-usecase 01.jpg
See detail around image requirements here.
Where do I save the work file for website tasks?
Please save all content publishing work files (box, markdowns link, or Sketch file) in the proper sub-folder under the ✍ Content + Design folder.
What are the general steps for the content task to go live on the website?
In general, for a new component website page, the tasks involve the following steps/items.

Content crafting (include images, if any) are reviewed by the DDS designers
Content crafting (include images, if any) are finalized
Content is published with markdowns, and PR is ready for review
PR reviewed and QAed by Jenny
Update the Overview page component table list with the guideline name, link, description, and status when the Markdown is done.
QA'd by Jenny.
Web page preview is approved by Linda, Jeff, and Wonil.
PR merged by Jenny.
Content goes live on the website.

Questions and Support
Please reach out to @JennySanchez for a quick task or process walk-through or ask questions you may have related to this task.

@jeffchew FYI: This issue was created as the follow-up action for the questions I asked on Slack today.

Per Jeff, The links for the Development Guideline are in Story Books.
http://ibmdotcom-react.mybluemix.net/?path=/docs/overview-enable-right-to-left-rtl--page
https://ibmdotcom-web-components.mybluemix.net/?path=/docs/overview-enable-right-to-left-rtl--page

Task completed, and the new section can be viewed on the live website.


support overriding directories within pulled dependencies via later directory configs

for example:

pull in config/_ytt_lib/github.com/cloudfoundry/cf-for-k8s
override config/_ytt_lib/github.com/cloudfoundry/cf-for-k8s/config/_ytt_lib/github.com/pivotal/kpack with something else.

@cppforlife would you say this relates kind of to our use case in #29 ?

nah dont think so. this is more about overriding directories wholesale (with an updated dependency) whereas #29 is more about modifying downloaded dependency. there is some relationship but prolly a bit different.

whereas #29 is more about modifying downloaded dependency.

Oh no, definitely not what I wanted to imply. We don't want to modify any file downloaded. We just want to keep files in the directory tree that did not originate at the source and not have those erased.


When a path is in a connect url, should the request body include a trailing slash?

@daltoniam I'm noticing that socket.io servers aren't picking up WebSockets transports from my socket.io-client. After doing some digging I've found that this bit of code does not add a trailing slash if the path is not empty. Is this valid, or is this something we should fix here, or do I need to dig around more?

Example:
let ws = WebSocket(url: URL(string: "ws://localhost:8080/test/?transport=websocket")!)

It seems whether or not to have a trailing closure depends on the server configuration. However, this code doesn't seem to ever include a trailing / when given a path in the url.

I personally have seen it both way. I tried to research some of the RFC specs to see what the right behavior was, but best I found was this:
 The authority component is preceded by a double slash "//" and is
   terminated by the next slash "/", question-mark "?", or by the end of
   the URI.  Within the authority component, the characters ";", ":",
   "@", "?", and "/" are reserved.

https://tools.ietf.org/html/rfc2396#section-3.2
That seems to line up with my personal experience that it can be either way, but that all being said, changing it isn't difficult if we need. I would think we might want to dig deeper though, as it is doesn't seem to fall out side of the RFC and could be something else.
Also I just tested adding puts "query: #{handshake.query}" into the ws-server.rb in the SimpleTest and it was able to create a proper hash out of them: query: {"transport"=>"websocket"}.

Yeah I agree that this seems like something that should be looked into deeper. Unfortunately I can't update to 3.0 in one of my libs since node's WS server doesn't seem to like differing paths. But adding some config to Starscream to append a trailing slash also feels a bit tacked on.

I checked in master what should hopefully be a simple fix. I figure it makes more sense to have Starscream make a simple change then try to make every server conform to the expected RFC. Might be a bit tacked on, but from what we found from #392, I'd think it is safer to keep the behavior the same as it use to be versus trying to track down issues with WebSocket servers. Let me know if that fixes it and I will do a 3.0.2 release.

I can confirm that this works.

I had to do a slightly different change as I noticed the fix I did broke the Autobahn test suite URLs. I updated the path creation to take exactly whatever the URL had it. Version 3.0.2 has been released and fixes this issue.


Is current implementation utilizing the dual core capability of the chip?

Is current implementation utilizing the dual core capability of the chip?
If not, is it possbile to integrate the second core into the current framework to do some backend work?

Yes, all apps and ui runs on the same core that the idf main runs on, you can create some task to run on the other one.


Service Alias and External Service should have start link

v0.23.0-rc1
Steps:

Create a service (don't start it)
Create a Service balancer (don't start it)
Create a Service Alias (don't start it)
Create a External Service (don't start it)

Results:
Service and Balancer have a Start link, Service Alias and External Service do not

Expected:
The start link on Service Alias and External Service

v0.23.0-rc6
Verified fixed


How properties should be stored inside the StructureData Node

The properties namespace
Properties may be stored inside an attribute called properties. For example in case of the pbc property, it should be stored as StructureData.properties.pbc: this is the class Pbc and its actual value (which is a list of booleans) can be accessed via StructureData.properties.pbc.value.

everything in the properties attribute can be subject to a consistency check, to understand if there is something unknown. and then raise an error (the same check can be done via the structure.get_valid_properties() and structure.get_defined_properties() methods).
The question also becomes: what is a property? Are the pbc a property? What about the mass of each site?

Physical storage of a property: database of repository?
The advantage of database (storing properties as attribute of StructureData node) is that it is possible to query and search. The repository, instead, is not subject to any query.
However, for example in case of Hubbard parameters (see HubbardStructureData), these are stored in the repository as JSON files, using pydantic functionalities.
Sometimes, we want to be queryable only some part of the properties. This means that we can design a property class to determine which of its parameters/values should be stored and where; we add a level of flexibility for the storage location.  This flexibility however should be only in the implementation of the property, i.e. we cannot decide the storage location on-the-fly when creating  a StructureData instance.

The getter and setter methods (of the current implementation) should be adjusted to be general and support both db- and repo- based type of properties. Or we should define two different methods, one for db and one for repository

DB-like properties
Stored in self.base.attributes._property_attributes dictionary. --> should change to self.base.attributes.property
Repository-like properties
Stored in the repository and accessed via pydantic BaseModel  functionalities.
### Tasks
- [x] Fix the recovery of the `properties` attribute once the StructureData node is loaded again
- [ ] Add possibility to store a property in db or in repository (the decision is property-specific, for now we can store everything in the db)
- [ ] create a documentation on simple query of the properties

Up to now, in the current implementation of the atomistic StructureData (main branch), all the properties are under the properties attribute directly:
unit_cell = [[3.5, 0.0, 0.0], [0.0, 3.5, 0.0], [0.0, 0.0, 3.5]]
atomic_positions = [[0.0, 0.0, 0.0],[1.5, 1.5, 1.5]]
symbols = ["Li"]*2
mass = [6.941,6.941]
charge = [1,0]

properties = {
    "cell":{"value":unit_cell},
    "pbc":{"value":[True,True,True]},
    "positions":{"value":atomic_positions,},
    "symbols":{"value":symbols},
    "mass":{"value":mass,},
    "charge":{"value":charge}
    }

structure = StructureData(
        properties=properties
        )

we can access the properties in this way:
structure.properties.cell
structure.properties.symbols
...

Each properties has an attribute called domain, which can be global (pbc, cell) intra-site (mass, charge,positions,symbols) or inter-site (Hubbard V, not yet implemented).
Another possibility is to have this domains (maybe with different names) as attributes of the properties, and then under these three have the related properties (structure.properties.global.cell ... ):
unit_cell = [[3.5, 0.0, 0.0], [0.0, 3.5, 0.0], [0.0, 0.0, 3.5]]
atomic_positions = [[0.0, 0.0, 0.0],[1.5, 1.5, 1.5]]
symbols = ["Li"]*2
mass = [6.941,6.941]
charge = [1,0]

properties = {
    "global":{
         "cell":unit_cell,
        "pbc":[True,True,True],
     },
    "sites":{
        "positions":atomic_positions,
        "symbols":symbols,
        "mass":mass,
        "charge":charge,
     }
}

structure = StructureData(
        properties=properties
        )

we can access the properties in this way:
structure.properties.global.cell
structure.properties.sites.symbols
...

I have the feeling that this way of providing properties is cleaner and that can also make easier the transition of the plugins to the atomistic Data. However I am not sure it is a good alternative.
Each sub-property will be then an attribute of the GlobalProperty or SitesProperty classes. Instead of a list of supported_properties, we can provide a dictionary:
In [1]: structure.properties.get_supported_properties()
Out [1]: {
                  "global":["pbc","cell"],
                   ...
               }

Comments @sphuber , @giovannipizzi , @mbercx ?

What is the advantage of classifying the properties according to their "domain"? Is having this knowledge encoded in the property itself necessary? Surely, the developer will know that the cell is "global" and the mass is a site-specific property.

I agree that the developer will know the domain of a given property.
And classifying with an additional attribute layer may complicate things.
Thanks  @sphuber .

I think using domain is a good design in the long term. The property could be site-specific, or kind-specific, or belong to the structure. By specific the property domain, the code can treat the property differently. For example, when I create a supercell, the code can automatically determine which properties need to be replicated or preserved, based on their domain. This makes the process more straightforward and less error-prone.
Regarding the mass property, one could also define it as a kind-specific property. Maybe some code QE would like a property to be kind-specific, while other codes require the property to be site-specific. Relying on developers to inherently know or remember the domain of each property increases the risk of mistakes.

I agree on the domain, in the end it is a cost-zero feature which may turn out to be useful.
About the case of the mass property, I would prefer to leave it as site-based, as all the other domain==intra-site properties. One reason is that in this way we still have a code-agnostic definition of the masses, and the second one is that the kind property will be defined alongside the other (see https://github.com/aiidateam/aiida-atomistic/issues/4). So in a way we are still using the kinds but at the same time we have a site-based definition.

For example, when I create a supercell, the code can automatically determine which properties need to be replicated or preserved, based on their domain.

I think this is a good example. Note that I didn't say that adding this information is not a good idea, I was just asking for use-cases.
I am just wondering about the interface and the requirements/guarantees. Does the internal implementation do anything with the domain information of the property? Or is it solely up to the consumer to use that information?
Regarding the API, I think making the domain available on the property makes sense. Not so sure about making the domain a subnamespace through which to access the property, i.e. node.properties.global.cell is not ideal I would say.

For now the implementation just stores the domain information, without using it. The use case of the supercell can be also implemented in the StructureData as a method to return easily a new StructureData node containing the supercell.
About exposing the domain property as attribute in the nesting node.properties.global.cell, I agree that it is not ideal.
Right now I am also concerned about the "value" attribute which allows to access the value of a property:
In [1]: node.properties.pbc.value
Out[1]: [True,True,True]

because it seems a bit counter-intuitive: a user expects to access the pbc value just accessing node.properties.pbc. The "value" additional layer was provided in case we need also additional parameters for each properties, for example a specific kind detection threshold.
However, we can think to pass kind threshold and other parameters to the constructor.


Release 2.8.0

@jeremy Could you release 2.8.0 to rubygems.org please? 🙇

2.8.0 release is not yet ready. 2.7.1 is next! 🙏

Sorry, when 2.7.1  will be released? What it a general time period for release?

Today. 2.7.1 is released.


Name of the service is: Event Hubs

Name of the service is Event Hubs, not Event Hub. Thanks.

@spelluru : Thanks for your contribution! The author(s) have been notified to review your proposed change.

Looks good; thanks @spelluru