Some questions about integrating kafka. Please~

There have consumer and processor  but no producer, I am confused where is origin topic messages that is received by  the topic-specific work-processor. (work on v0.2.1)

Right now, consumer + processor is used to ingest audit topics, such as Hive Metadata Change, Gobblin Tracking, ...
Are you looking for a code module which generates/produces Kafka events, such as WH Metadata Change, WH ETL State, ...?
AFAIK, the producer and corresponding topic schema is coming into the oss codebase.

emm，now,Iam understand ,no matter how Gobblin Tracking or other produces, they all provide production data outside the entire cluster。So there have many forms of producer, not only kafka Pro.
This part of the function for wherehows maybe just is a consumer  : )

Dear issue owner,
Thanks for your interest in WhereHows. We have recently announced DataHub which is the rebranding of WhereHows. LinkedIn improved the architecture of WhereHows and rebranded WhereHows into DataHub and replaced its metadata infrastructure in this direction. DataHub is a more advanced and improved metadata management product compared to WhereHows.
Unfortunately, we have to stop supporting WhereHows to better focus on DataHub and offer more help to DataHub users. Therefore, we will drop all issues related to WhereHows and will not accept any contribution for it. Active development for DataHub has already started on datahub branch and will continue to live in there until it's finally merged to master and project is renamed to DataHub.
Please check the datahub branch to get familar with DataHub.
Best,
DataHub team


Consistent use of @views or view(...)

Right now, when using a "view" on an array slice (i.e., a sub-array that does not create a copy but directly operates on the original data), we use both the function-style view(...), e.g.,
  # Interpolate to bottom lower left element
  multiply_dimensionwise!(
    view(u,     :, :, :, :, bottom_lower_left_id), forward_lower, forward_lower, forward_lower,
    view(old_u, :, :, :, :, old_element_id), u_tmp1, u_tmp2)

(ref) and the macro-style @views, e.g.,
      # Copy old element data to new element container
      @views elements.u[:, :, :, :, element_id] .= old_u[:, :, :, :, old_element_id]

(ref). I think for the sake of new (Julia) users (and my own sanity, but really it's about the first one), it would be beneficial to use only one of the two approaches in general.
Personally, I prefer @views since it is (usually) only a performance enhancement that does not change the code logic, thus I like that it can be "slapped on" an existing expression without changing the expression itself. Also, my brain is much faster in deciphering what @views u[:, :, :, :, element_id] means than for view(u, :, :, :, :, element_id) (especially in expressions with multiple views), since it intuitively recognizes the brackets [ ] as array accessors. However, a case can also be made for view(...), as it moves the "verb" closer to the "subject", i.e., it is immediately clear which arrays are affected.
Before #145 was merged, we had about 2 view(...)s and 25 @views in master; now it is about 60 view(...)s and 25 @views.
I'm sorry for bringing up yet another consistency issue, but this one can be resolved fairly easy I think (especially, if we just use @views everywhere :smiling_imp:)

https://github.com/trixi-framework/Trixi.jl/pull/145#discussion_r483743358:

We would need something like
@views multiply_dimensionwise!(dg.l2mortars.u_upper_left[  leftright, :, :, :, m], dg.mortar_forward_lower,      dg.mortar_forward_upper, u_large, fstar_tmp1)
instead of
multiply_dimensionwise!(view(dg.l2mortars.u_upper_left,  leftright, :, :, :, m), dg.mortar_forward_lower, dg.mortar_forward_upper, u_large, fstar_tmp1)
What I don't like that much about the first approach is that it separates the important information (hey, we're using view here for performance) from the place where this information is needed when reading the code.

That's basically the argument against @views @sloede mentioned above. In my opinion, it might be a bit easier to teach people to use views instead of (copying/allocating) array slices if that's what we use throughout the code instead of an additional annotation somewhere at the beginning. But I don't have a strong opinion here and am also fine with @views everywhere.

@andrewwinters5000 @gregorgassner ?

IIRC from the previous thread in #145 the performance of either @views or view(...) are nearly identical. So this is largely an aesthetic discussion and code consistency, right? If that is the case I really do not mind either way. I have only ever used the @views style in the past, but I can adapt.


mmseqs createindex --split not generating correct number of splits

Expected Behavior
I expect --split 16 for mmseqs createindex to generate 16 *.idx files. Instead, I'm getting 18:
mmseqs_tax_target/mmseqs_tax.db.idx.0
mmseqs_tax_target/mmseqs_tax.db.idx.1
mmseqs_tax_target/mmseqs_tax.db.idx.10
mmseqs_tax_target/mmseqs_tax.db.idx.11
mmseqs_tax_target/mmseqs_tax.db.idx.12
mmseqs_tax_target/mmseqs_tax.db.idx.13
mmseqs_tax_target/mmseqs_tax.db.idx.14
mmseqs_tax_target/mmseqs_tax.db.idx.15
mmseqs_tax_target/mmseqs_tax.db.idx.16
mmseqs_tax_target/mmseqs_tax.db.idx.17
mmseqs_tax_target/mmseqs_tax.db.idx.2
mmseqs_tax_target/mmseqs_tax.db.idx.3
mmseqs_tax_target/mmseqs_tax.db.idx.4
mmseqs_tax_target/mmseqs_tax.db.idx.5
mmseqs_tax_target/mmseqs_tax.db.idx.6
mmseqs_tax_target/mmseqs_tax.db.idx.7
mmseqs_tax_target/mmseqs_tax.db.idx.8
mmseqs_tax_target/mmseqs_tax.db.idx.9

Pipeline software (eg., snakemake) generally requires keeping track of all (important) output files produced; otherwise, untracked output files can accidentally be deleted, which is is causing some downstream problems (eg., seg-fault errors for mmseqs taxonomy).
Steps to Reproduce (for bugs)
mmseqs createindex --threads 8   --split 16 mmseqs_tax.db mmseqs_tax_target/tmp/

Your Environment
# Name                    Version                   Build  Channel
_libgcc_mutex             0.1                 conda_forge    conda-forge
_openmp_mutex             4.5                       1_gnu    conda-forge
bzip2                     1.0.8                h7f98852_4    conda-forge
ca-certificates           2021.1.19            h06a4308_1
gawk                      5.1.0                h516909a_0    conda-forge
gettext                   <IP_ADDRESS>          h0b5b191_1005    conda-forge
libffi                    3.3                  h58526e2_2    conda-forge
libgcc-ng                 9.3.0               h2828fa1_18    conda-forge
libgomp                   9.3.0               h2828fa1_18    conda-forge
libidn2                   2.3.0                h516909a_0    conda-forge
libstdcxx-ng              9.3.0               h6de172a_18    conda-forge
libunistring              0.9.10               h14c3975_0    conda-forge
mmseqs2                   13.45111             h95f258a_1    bioconda
openssl                   1.1.1k               h7f98852_0    conda-forge
pigz                      2.6                  h27826a3_0    conda-forge
seqkit                    0.15.0                        0    bioconda
seqtk                     1.3                  h5bf99c6_3    bioconda
wget                      1.20.1               h22169c7_0    conda-forge
zlib                      1.2.11            h516909a_1010    conda-forge

OS: Ubuntu 18.04.5

The seg-fault errors that I'm getting with mmseqs taxonomy don't appear to be due to the 2 extra split files. Even when tracking all *.idx files so they don't accidentally get deleted, I get the following error:
taxonomy -e 1e-5 --max-seqs 200 --num-iterations 2 --start-sens 1 --sens-steps 3 -s 6 --lca-ranks superkingdom,kingdom,phylum,class,order,family,genus,species --threads 8 /ebio/abt3_scratch/nyoungblut/LLCDS_126702996474/mmseqs_tax_query/06/seqs_db /ebio/abt3_scratch/nyoungblut/LLCDS_126702996474/mmseqs_tax_target/mmseqs_tax.db /ebio/abt3_scratch/nyoungblut/LLCDS_126702996474/mmseqs_tax/06/seqs_tax_db /ebio/abt3_scratch/nyoungblut/LLCDS_126702996474/mmseqs_tax/06/TMP

MMseqs Version:                        	13.45111
ORF filter                             	1
ORF filter e-value                     	100
ORF filter sensitivity                 	2
LCA mode                               	3
Taxonomy output mode                   	0
Majority threshold                     	0.5
Vote mode                              	1
LCA ranks                              	superkingdom,kingdom,phylum,class,order,family,genus,species
Column with taxonomic lineage          	0
Compressed                             	0
Threads                                	8
Verbosity                              	3
Taxon blacklist                        	12908:unclassified sequences,28384:other sequences
Substitution matrix                    	nucl:nucleotide.out,aa:blosum62.out
Add backtrace                          	false
Alignment mode                         	1
Alignment mode                         	0
Allow wrapped scoring                  	false
E-value threshold                      	1e-05
Seq. id. threshold                     	0
Min alignment length                   	0
Seq. id. mode                          	0
Alternative alignments                 	0
Coverage threshold                     	0
Coverage mode                          	0
Max sequence length                    	65535
Compositional bias                     	1
Max reject                             	5
Max accept                             	30
Include identical seq. id.             	false
Preload mode                           	0
Pseudo count a                         	1
Pseudo count b                         	1.5
Score bias                             	0
Realign hits                           	false
Realign score bias                     	-0.2
Realign max seqs<PHONE_NUMBER>
Gap open cost                          	nucl:5,aa:11
Gap extension cost                     	nucl:2,aa:1
Zdrop                                  	40
Seed substitution matrix               	nucl:nucleotide.out,aa:VTML80.out
Sensitivity                            	6
k-mer length                           	0
k-score<PHONE_NUMBER>
Alphabet size                          	nucl:5,aa:21
Max results per query                  	200
Split database                         	0
Split mode                             	2
Split memory limit                     	0
Diagonal scoring                       	true
Exact k-mer matching                   	0
Mask residues                          	1
Mask lower case residues               	0
Minimum diagonal score                 	15
Spaced k-mers                          	1
Spaced k-mer pattern
Local temporary path
Rescore mode                           	0
Remove hits by seq. id. and coverage   	false
Sort results                           	0
Mask profile                           	1
Profile E-value threshold              	0.001
Global sequence weighting              	false
Allow deletions                        	false
Filter MSA                             	1
Maximum seq. id. threshold             	0.9
Minimum seq. id.                       	0
Minimum score per column               	-20
Minimum coverage                       	0
Select N most diverse seqs             	1000
Min codons in orf                      	30
Max codons in length                   	32734
Max orf gaps<PHONE_NUMBER>
Contig start mode                      	2
Contig end mode                        	2
Orf start mode                         	1
Forward frames                         	1,2,3
Reverse frames                         	1,2,3
Translation table                      	1
Translate orf                          	0
Use all table starts                   	false
Offset of numeric ids                  	0
Create lookup                          	0
Add orf stop                           	false
Overlap between sequences              	0
Sequence split mode                    	1
Header split mode                      	0
Chain overlapping alignments           	0
Merge query                            	1
Search type                            	0
Search iterations                      	2
Start sensitivity                      	1
Search steps                           	3
Exhaustive search mode                 	false
Filter results during exhaustive search	0
Strand selection                       	1
LCA search mode                        	false
Disk space limit                       	0
MPI runner
Force restart with latest tmp          	false
Remove temporary files                 	false

Create directory /ebio/abt3_scratch/nyoungblut/LLCDS_126702996474/mmseqs_tax/06/TMP/14652724320229658153/tmp_hsp1
search /ebio/abt3_scratch/nyoungblut/LLCDS_126702996474/mmseqs_tax_query/06/seqs_db /ebio/abt3_scratch/nyoungblut/LLCDS_126702996474/mmseqs_tax_target/mmseqs_tax.db /ebio/abt3_scratch/nyoungblut/LLCDS_126702996474/mmseqs_tax/06/TMP/14652724320229658153/first /ebio/abt3_scratch/nyoungblut/LLCDS_126702996474/mmseqs_tax/06/TMP/14652724320229658153/tmp_hsp1 --alignment-mode 1 -e 1e-05 --max-rejected 5 --max-accept 30 --threads 8 -s 6 --max-seqs 200 --spaced-kmer-mode 1 --min-length 30 --max-length 32734 --orf-start-mode 1 --num-iterations 2 --start-sens 1 --sens-steps 3 --lca-search 1

prefilter /ebio/abt3_scratch/nyoungblut/LLCDS_126702996474/mmseqs_tax_query/06/seqs_db /ebio/abt3_scratch/nyoungblut/LLCDS_126702996474/mmseqs_tax_target/mmseqs_tax.db.idx /ebio/abt3_scratch/nyoungblut/LLCDS_126702996474/mmseqs_tax/06/TMP/14652724320229658153/tmp_hsp1/11598483508011826746/pref_0 --sub-mat nucl:nucleotide.out,aa:blosum62.out --seed-sub-mat nucl:nucleotide.out,aa:VTML80.out -s 6 -k 0 --k-score<PHONE_NUMBER> --alph-size nucl:5,aa:21 --max-seq-len 65535 --max-seqs 200 --split 0 --split-mode 2 --split-memory-limit 0 -c 0 --cov-mode 0 --comp-bias-corr 1 --diag-score 1 --exact-kmer-matching 0 --mask 1 --mask-lower-case 0 --min-ungapped-score 15 --add-self-matches 0 --spaced-kmer-mode 1 --db-load-mode 0 --pca 1 --pcb 1.5 --threads 8 --compressed 0 -v 3

Index version: 16
Generated by:  13.45111
ScoreMatrix:  VTML80.out
Query database size: 1075 type: Aminoacid
Target split mode. Searching through 16 splits
Estimated memory consumption: 8G
Target database size: 41195879 type: Aminoacid
Process prefiltering step 1 of 16

k-mer similarity threshold: 109
Starting prefiltering scores calculation (step 1 of 16)
Query db start 1 to 1075
Target db start 1 to 2572505
[=================================================================] 1.08K 2s 989ms

390.206187 k-mers per position
423278 DB matches per sequence
0 overflows
0 queries produce too many hits (truncated result)
25 sequences passed prefiltering per query sequence
26 median result list length
0 sequences with 0 size result lists
Time for merging to pref_0_tmp_0: 0h 0m 0s 8ms
Time for merging to pref_0_tmp_0_tmp: 0h 0m 0s 10ms
Process prefiltering step 2 of 16

k-mer similarity threshold: 109
Starting prefiltering scores calculation (step 2 of 16)
Query db start 1 to 1075
Target db start 2572506 to 5147039
[=================================================================] 1.08K 3s 152ms

390.206187 k-mers per position
423330 DB matches per sequence
0 overflows
0 queries produce too many hits (truncated result)
25 sequences passed prefiltering per query sequence
26 median result list length
1 sequences with 0 size result lists
Time for merging to pref_0_tmp_1: 0h 0m 0s 8ms
Time for merging to pref_0_tmp_1_tmp: 0h 0m 0s 36ms
Process prefiltering step 3 of 16

k-mer similarity threshold: 109
Starting prefiltering scores calculation (step 3 of 16)
Query db start 1 to 1075
Target db start 5147040 to 7717242
[=================================================================] 1.08K 2s 825ms

390.206187 k-mers per position
423389 DB matches per sequence
0 overflows
0 queries produce too many hits (truncated result)
25 sequences passed prefiltering per query sequence
26 median result list length
0 sequences with 0 size result lists
Time for merging to pref_0_tmp_2: 0h 0m 0s 43ms
Time for merging to pref_0_tmp_2_tmp: 0h 0m 0s 57ms
Process prefiltering step 4 of 16

k-mer similarity threshold: 109
Starting prefiltering scores calculation (step 4 of 16)
Query db start 1 to 1075
Target db start 7717243 to 10294414
[=================================================================] 1.08K 3s 10ms

390.206187 k-mers per position
423306 DB matches per sequence
0 overflows
0 queries produce too many hits (truncated result)
25 sequences passed prefiltering per query sequence
26 median result list length
1 sequences with 0 size result lists
Time for merging to pref_0_tmp_3: 0h 0m 0s 23ms
Time for merging to pref_0_tmp_3_tmp: 0h 0m 0s 55ms
Process prefiltering step 5 of 16

k-mer similarity threshold: 109
Starting prefiltering scores calculation (step 5 of 16)
Query db start 1 to 1075
Target db start 10294415 to 12871105
[=================================================================] 1.08K 2s 902ms

390.206187 k-mers per position
423264 DB matches per sequence
0 overflows
0 queries produce too many hits (truncated result)
25 sequences passed prefiltering per query sequence
26 median result list length
1 sequences with 0 size result lists
Time for merging to pref_0_tmp_4: 0h 0m 0s 8ms
Time for merging to pref_0_tmp_4_tmp: 0h 0m 0s 11ms
Process prefiltering step 6 of 16

k-mer similarity threshold: 109
Starting prefiltering scores calculation (step 6 of 16)
Query db start 1 to 1075
Target db start 12871106 to 15442705
[=================================================================] 1.08K 2s 907ms

390.206187 k-mers per position
423514 DB matches per sequence
0 overflows
0 queries produce too many hits (truncated result)
25 sequences passed prefiltering per query sequence
26 median result list length
1 sequences with 0 size result lists
Time for merging to pref_0_tmp_5: 0h 0m 0s 9ms
Time for merging to pref_0_tmp_5_tmp: 0h 0m 0s 9ms
Process prefiltering step 7 of 16

k-mer similarity threshold: 109
Starting prefiltering scores calculation (step 7 of 16)
Query db start 1 to 1075
Target db start 15442706 to 18017124
[=================================================================] 1.08K 2s 795ms

390.206187 k-mers per position
423292 DB matches per sequence
0 overflows
0 queries produce too many hits (truncated result)
25 sequences passed prefiltering per query sequence
26 median result list length
1 sequences with 0 size result lists
Time for merging to pref_0_tmp_6: 0h 0m 0s 7ms
Time for merging to pref_0_tmp_6_tmp: 0h 0m 0s 9ms
Process prefiltering step 8 of 16

k-mer similarity threshold: 109
Starting prefiltering scores calculation (step 8 of 16)
Query db start 1 to 1075
Target db start 18017125 to 20593148
[=================================================================] 1.08K 2s 843ms

390.206187 k-mers per position
423223 DB matches per sequence
0 overflows
0 queries produce too many hits (truncated result)
25 sequences passed prefiltering per query sequence
26 median result list length
0 sequences with 0 size result lists
Time for merging to pref_0_tmp_7: 0h 0m 0s 9ms
Time for merging to pref_0_tmp_7_tmp: 0h 0m 0s 10ms
Process prefiltering step 9 of 16

k-mer similarity threshold: 109
Starting prefiltering scores calculation (step 9 of 16)
Query db start 1 to 1075
Target db start 20593149 to 23168610
[=================================================================] 1.08K 3s 92ms

390.206187 k-mers per position
423365 DB matches per sequence
0 overflows
0 queries produce too many hits (truncated result)
25 sequences passed prefiltering per query sequence
26 median result list length
0 sequences with 0 size result lists
Time for merging to pref_0_tmp_8: 0h 0m 0s 7ms
Time for merging to pref_0_tmp_8_tmp: 0h 0m 0s 11ms
Process prefiltering step 10 of 16

k-mer similarity threshold: 109
Starting prefiltering scores calculation (step 10 of 16)
Query db start 1 to 1075
Target db start 23168611 to 25746437
[=================================================================] 1.08K 2s 946ms

390.206187 k-mers per position
423353 DB matches per sequence
0 overflows
0 queries produce too many hits (truncated result)
25 sequences passed prefiltering per query sequence
26 median result list length
1 sequences with 0 size result lists
Time for merging to pref_0_tmp_9: 0h 0m 0s 11ms
Time for merging to pref_0_tmp_9_tmp: 0h 0m 0s 15ms
Process prefiltering step 11 of 16

k-mer similarity threshold: 109
Starting prefiltering scores calculation (step 11 of 16)
Query db start 1 to 1075
Target db start 25746438 to 28318851
[=================================================================] 1.08K 2s 418ms

390.206187 k-mers per position
423304 DB matches per sequence
0 overflows
0 queries produce too many hits (truncated result)
25 sequences passed prefiltering per query sequence
26 median result list length
0 sequences with 0 size result lists
Time for merging to pref_0_tmp_10: 0h 0m 0s 8ms
Time for merging to pref_0_tmp_10_tmp: 0h 0m 0s 14ms
Process prefiltering step 12 of 16

k-mer similarity threshold: 109
Starting prefiltering scores calculation (step 12 of 16)
Query db start 1 to 1075
Target db start 28318852 to 30895702
[=================================================================] 1.08K 3s 701ms

390.206187 k-mers per position
423306 DB matches per sequence
0 overflows
0 queries produce too many hits (truncated result)
25 sequences passed prefiltering per query sequence
26 median result list length
0 sequences with 0 size result lists
Time for merging to pref_0_tmp_11: 0h 0m 0s 61ms
Time for merging to pref_0_tmp_11_tmp: 0h 0m 0s 71ms
Process prefiltering step 13 of 16

k-mer similarity threshold: 109
Starting prefiltering scores calculation (step 13 of 16)
Query db start 1 to 1075
Target db start 30895703 to 33469145
[=================================================================] 1.08K 3s 180ms

390.206187 k-mers per position
423354 DB matches per sequence
0 overflows
0 queries produce too many hits (truncated result)
25 sequences passed prefiltering per query sequence
26 median result list length
1 sequences with 0 size result lists
Time for merging to pref_0_tmp_12: 0h 0m 0s 10ms
Time for merging to pref_0_tmp_12_tmp: 0h 0m 0s 14ms
Process prefiltering step 14 of 16

k-mer similarity threshold: 109
Starting prefiltering scores calculation (step 14 of 16)
Query db start 1 to 1075
Target db start 33469146 to 36042326
[=================================================================] 1.08K 3s 458ms

390.206187 k-mers per position
423372 DB matches per sequence
0 overflows
0 queries produce too many hits (truncated result)
25 sequences passed prefiltering per query sequence
26 median result list length
2 sequences with 0 size result lists
Time for merging to pref_0_tmp_13: 0h 0m 0s 34ms
Time for merging to pref_0_tmp_13_tmp: 0h 0m 0s 44ms
Process prefiltering step 15 of 16

k-mer similarity threshold: 109
Starting prefiltering scores calculation (step 15 of 16)
Query db start 1 to 1075
Target db start 36042327 to 38619947
[=================================================================] 1.08K 3s 98ms

390.206187 k-mers per position
423325 DB matches per sequence
0 overflows
0 queries produce too many hits (truncated result)
25 sequences passed prefiltering per query sequence
26 median result list length
1 sequences with 0 size result lists
Time for merging to pref_0_tmp_14: 0h 0m 0s 29ms
Time for merging to pref_0_tmp_14_tmp: 0h 0m 0s 31ms
Process prefiltering step 16 of 16

k-mer similarity threshold: 109
Starting prefiltering scores calculation (step 16 of 16)
Query db start 1 to 1075
Target db start 38619948 to 41195879
[=================================================================] 1.08K 2s 904ms

390.206187 k-mers per position
423266 DB matches per sequence
0 overflows
0 queries produce too many hits (truncated result)
25 sequences passed prefiltering per query sequence
26 median result list length
0 sequences with 0 size result lists
Time for merging to pref_0_tmp_15: 0h 0m 0s 24ms
Time for merging to pref_0_tmp_15_tmp: 0h 0m 0s 20ms
Merging 16 target splits to pref_0
Preparing offsets for merging: 0h 0m 0s 53ms
[=================================================================] 1.08K 0s 37ms
Time for merging to pref_0: 0h 0m 0s 23ms
Time for merging target splits: 0h 0m 0s 174ms
Time for merging to pref_0_tmp: 0h 0m 0s 45ms
Time for processing: 0h 6m 46s 299ms
lcaalign /ebio/abt3_scratch/nyoungblut/LLCDS_126702996474/mmseqs_tax_query/06/seqs_db /ebio/abt3_scratch/nyoungblut/LLCDS_126702996474/mmseqs_tax_target/mmseqs_tax.db.idx /ebio/abt3_scratch/nyoungblut/LLCDS_126702996474/mmseqs_tax/06/TMP/14652724320229658153/tmp_hsp1/11598483508011826746/pref_0 /ebio/abt3_scratch/nyoungblut/LLCDS_126702996474/mmseqs_tax/06/TMP/14652724320229658153/tmp_hsp1/11598483508011826746/aln_0 --sub-mat nucl:nucleotide.out,aa:blosum62.out -a 1 --alignment-mode 1 --alignment-output-mode 0 --wrapped-scoring 0 -e 1e-05 --min-seq-id 0 --min-aln-len 0 --seq-id-mode 0 --alt-ali 0 -c 0 --cov-mode 0 --max-seq-len 65535 --comp-bias-corr 1 --max-rejected 5 --max-accept 30 --add-self-matches 0 --db-load-mode 0 --pca 1 --pcb 1.5 --score-bias 0 --realign 1 --realign-score-bias -0.2 --realign-max-seqs<PHONE_NUMBER> --gap-open nucl:5,aa:11 --gap-extend nucl:2,aa:1 --zdrop 40 --threads 8 --compressed 0 -v 3

Index version: 16
Generated by:  13.45111
ScoreMatrix:  VTML80.out
Compute score and coverage
Query database size: 1075 type: Aminoacid
Target database size: 41195879 type: Aminoacid
[=================================================================] 1.08K 0s 508ms
Time for merging to aln_0: 0h 0m 0s 8ms
19048 alignments calculated
15817 sequence pairs passed the thresholds (0.830376 of overall calculated)
14.713489 hits per query sequence
Time for processing: 0h 0m 54s 194ms
result2profile /ebio/abt3_scratch/nyoungblut/LLCDS_126702996474/mmseqs_tax_query/06/seqs_db /ebio/abt3_scratch/nyoungblut/LLCDS_126702996474/mmseqs_tax_target/mmseqs_tax.db.idx /ebio/abt3_scratch/nyoungblut/LLCDS_126702996474/mmseqs_tax/06/TMP/14652724320229658153/tmp_hsp1/11598483508011826746/aln_0 /ebio/abt3_scratch/nyoungblut/LLCDS_126702996474/mmseqs_tax/06/TMP/14652724320229658153/tmp_hsp1/11598483508011826746/profile_0 --sub-mat nucl:nucleotide.out,aa:blosum62.out -e 1e-05 --mask-profile 1 --e-profile 0.1 --comp-bias-corr 1 --wg 0 --allow-deletion 0 --filter-msa 1 --max-seq-id 0.9 --qid 0 --qsc -20 --cov 0 --diff 1000 --pca 0 --pcb 1.5 --db-load-mode 0 --gap-open nucl:5,aa:11 --gap-extend nucl:2,aa:1 --threads 8 --compressed 0 -v 3

Index version: 16
Generated by:  13.45111
ScoreMatrix:  VTML80.out
Query database size: 1075 type: Aminoacid
Target database size: 41195879 type: Aminoacid
[========================================Segmentation fault
Error: Create profile died
Error: First search died

Note that sometimes when I re-run the command, I instead get the error:
Index version: 16
Generated by:  13.45111
ScoreMatrix:  VTML80.out
Query database size: 1075 type: Aminoacid
Target database size: 41195879 type: Aminoacid
[=======================================================]
free(): invalid next size (normal)
Aborted
Error: Create profile died
Error: First search died

System memory should not be the cause; I've got ~800 Gb free.
Maybe I'm missing a "hidden" input file (ie., one of the files associated with the main input files, which are generally no mentioned in any of the docs). The input files that are present:

/ebio/abt3_scratch/nyoungblut/LLCDS_126702996474/mmseqs_tax_query/06/seqs_db
/ebio/abt3_scratch/nyoungblut/LLCDS_126702996474/mmseqs_tax_query/06/seqs_db.dbtype
/ebio/abt3_scratch/nyoungblut/LLCDS_126702996474/mmseqs_tax_query/06/seqs_db.index
/ebio/abt3_scratch/nyoungblut/LLCDS_126702996474/mmseqs_tax_query/06/seqs_db_h
/ebio/abt3_scratch/nyoungblut/LLCDS_126702996474/mmseqs_tax_query/06/seqs_db_h.dbtype
/ebio/abt3_scratch/nyoungblut/LLCDS_126702996474/mmseqs_tax_query/06/seqs_db_h.index
/ebio/abt3_scratch/nyoungblut/LLCDS_126702996474/mmseqs_tax_target/mmseqs_tax.db
/ebio/abt3_scratch/nyoungblut/LLCDS_126702996474/mmseqs_tax_target/mmseqs_tax.db.dbtype
/ebio/abt3_scratch/nyoungblut/LLCDS_126702996474/mmseqs_tax_target/mmseqs_tax.db.index
/ebio/abt3_scratch/nyoungblut/LLCDS_126702996474/mmseqs_tax_target/mmseqs_tax.db_h
/ebio/abt3_scratch/nyoungblut/LLCDS_126702996474/mmseqs_tax_target/mmseqs_tax.db_h.dbtype
/ebio/abt3_scratch/nyoungblut/LLCDS_126702996474/mmseqs_tax_target/mmseqs_tax.db_h.index
/ebio/abt3_scratch/nyoungblut/LLCDS_126702996474/mmseqs_tax_target/mmseqs_tax.db_mapping
/ebio/abt3_scratch/nyoungblut/LLCDS_126702996474/mmseqs_tax_target/mmseqs_tax.db_delnodes.dmp
/ebio/abt3_scratch/nyoungblut/LLCDS_126702996474/mmseqs_tax_target/mmseqs_tax.db_merged.dmp
/ebio/abt3_scratch/nyoungblut/LLCDS_126702996474/mmseqs_tax_target/mmseqs_tax.db_names.dmp
/ebio/abt3_scratch/nyoungblut/LLCDS_126702996474/mmseqs_tax_target/mmseqs_tax.db_nodes.dmp
/ebio/abt3_scratch/nyoungblut/LLCDS_126702996474/mmseqs_tax_target/mmseqs_tax.db.idx.0
/ebio/abt3_scratch/nyoungblut/LLCDS_126702996474/mmseqs_tax_target/mmseqs_tax.db.idx.1
/ebio/abt3_scratch/nyoungblut/LLCDS_126702996474/mmseqs_tax_target/mmseqs_tax.db.idx.2
/ebio/abt3_scratch/nyoungblut/LLCDS_126702996474/mmseqs_tax_target/mmseqs_tax.db.idx.3
/ebio/abt3_scratch/nyoungblut/LLCDS_126702996474/mmseqs_tax_target/mmseqs_tax.db.idx.4
/ebio/abt3_scratch/nyoungblut/LLCDS_126702996474/mmseqs_tax_target/mmseqs_tax.db.idx.5
/ebio/abt3_scratch/nyoungblut/LLCDS_126702996474/mmseqs_tax_target/mmseqs_tax.db.idx.6
/ebio/abt3_scratch/nyoungblut/LLCDS_126702996474/mmseqs_tax_target/mmseqs_tax.db.idx.7
/ebio/abt3_scratch/nyoungblut/LLCDS_126702996474/mmseqs_tax_target/mmseqs_tax.db.idx.8
/ebio/abt3_scratch/nyoungblut/LLCDS_126702996474/mmseqs_tax_target/mmseqs_tax.db.idx.9
/ebio/abt3_scratch/nyoungblut/LLCDS_126702996474/mmseqs_tax_target/mmseqs_tax.db.idx.10
/ebio/abt3_scratch/nyoungblut/LLCDS_126702996474/mmseqs_tax_target/mmseqs_tax.db.idx.11
/ebio/abt3_scratch/nyoungblut/LLCDS_126702996474/mmseqs_tax_target/mmseqs_tax.db.idx.12
/ebio/abt3_scratch/nyoungblut/LLCDS_126702996474/mmseqs_tax_target/mmseqs_tax.db.idx.13
/ebio/abt3_scratch/nyoungblut/LLCDS_126702996474/mmseqs_tax_target/mmseqs_tax.db.idx.14
/ebio/abt3_scratch/nyoungblut/LLCDS_126702996474/mmseqs_tax_target/mmseqs_tax.db.idx.15
/ebio/abt3_scratch/nyoungblut/LLCDS_126702996474/mmseqs_tax_target/mmseqs_tax.db.idx.16
/ebio/abt3_scratch/nyoungblut/LLCDS_126702996474/mmseqs_tax_target/mmseqs_tax.db.idx.17
/ebio/abt3_scratch/nyoungblut/LLCDS_126702996474/mmseqs_tax_target/mmseqs_tax.db.idx.dbtype
/ebio/abt3_scratch/nyoungblut/LLCDS_126702996474/mmseqs_tax_target/mmseqs_tax.db.idx.index

If I had to guess, there's probably something wrong with the *.idx files.

I introduced the two additional splits because of https://github.com/soedinglab/MMseqs2/issues/338. Though that wasn't very effective to reduce peak memory use.
The error looks like a memory corruption though. I am not really sure how to reproduce the issue locally.
Do you still have the tmp files? Could you try rerunning only the last step without the index:
mmseqs result2profile /ebio/abt3_scratch/nyoungblut/LLCDS_126702996474/mmseqs_tax_query/06/seqs_db /ebio/abt3_scratch/nyoungblut/LLCDS_126702996474/mmseqs_tax_target/mmseqs_tax.db /ebio/abt3_scratch/nyoungblut/LLCDS_126702996474/mmseqs_tax/06/TMP/14652724320229658153/tmp_hsp1/11598483508011826746/aln_0 /ebio/abt3_scratch/nyoungblut/LLCDS_126702996474/mmseqs_tax/06/TMP/14652724320229658153/tmp_hsp1/11598483508011826746/profile_0 --sub-mat nucl:nucleotide.out,aa:blosum62.out -e 1e-05 --mask-profile 1 --e-profile 0.1 --comp-bias-corr 1 --wg 0 --allow-deletion 0 --filter-msa 1 --max-seq-id 0.9 --qid 0 --qsc -20 --cov 0 --diff 1000 --pca 0 --pcb 1.5 --db-load-mode 0 --gap-open nucl:5,aa:11 --gap-extend nucl:2,aa:1 --threads 8 --compressed 0 -v 3

The only change was to remove the .idx suffix after mmseqs_tax.db.

The next step would be to try a MMseqs2 build instrumented with ASan. Sadly ASan doesn't support static builds so you would have to compile MMseqs2 yourself:
git clone https://github.com/soedinglab/MMseqs2.git
cd MMseqs2;
mkdir build
cd build
cmake -DHAVE_SANITIZER=1 -DCMAKE_BUILD_TYPE=ASan ..
make -j $(nproc --all)

The new binary in src/mmseqs would then hopefully be able to tell what is going wrong:
Path-To-Where-You-Git-Clone/MMseqs2/build/src/mmseqs result2profile /ebio/abt3_scratch/nyoungblut/LLCDS_126702996474/mmseqs_tax_query/06/seqs_db /ebio/abt3_scratch/nyoungblut/LLCDS_126702996474/mmseqs_tax_target/mmseqs_tax.db.idx /ebio/abt3_scratch/nyoungblut/LLCDS_126702996474/mmseqs_tax/06/TMP/14652724320229658153/tmp_hsp1/11598483508011826746/aln_0 /ebio/abt3_scratch/nyoungblut/LLCDS_126702996474/mmseqs_tax/06/TMP/14652724320229658153/tmp_hsp1/11598483508011826746/profile_0 --sub-mat nucl:nucleotide.out,aa:blosum62.out -e 1e-05 --mask-profile 1 --e-profile 0.1 --comp-bias-corr 1 --wg 0 --allow-deletion 0 --filter-msa 1 --max-seq-id 0.9 --qid 0 --qsc -20 --cov 0 --diff 1000 --pca 0 --pcb 1.5 --db-load-mode 0 --gap-open nucl:5,aa:11 --gap-extend nucl:2,aa:1 --threads 8 --compressed 0 -v 3

Removing the *.idx suffix for mmseqs result2profile did not fix the issue. I'll try the ASan build next.

Here's the output from the ASan run:
 ./build/src/mmseqs result2profile \
>   /ebio/abt3_scratch/nyoungblut/LLCDS_126702996474/mmseqs_tax_query/09/seqs_db \
>   /ebio/abt3_scratch/nyoungblut/LLCDS_126702996474/mmseqs_tax_target/mmseqs_tax.db \
>   /ebio/abt3_scratch/nyoungblut/LLCDS_126702996474/mmseqs_tax/09/TMP/1355100225373504351/tmp_hsp1/9650299475897910544/aln_0 \
>   /ebio/abt3_scratch/nyoungblut/LLCDS_126702996474/mmseqs_tax/09/TMP/1355100225373504351/tmp_hsp1/9650299475897910544/profile_0 \
>   --sub-mat nucl:nucleotide.out,aa:blosum62.out -e 1e-05 --mask-profile 1 --e-profile 0.1 --comp-bias-corr 1 --wg 0 --allow-deletion 0 \
>   --filter-msa 1 --max-seq-id 0.9 --qid 0 --qsc -20 --cov 0 --diff 1000 --pca 0 --pcb 1.5 --db-load-mode 0 --gap-open nucl:5,aa:11 \
>   --gap-extend nucl:2,aa:1 --threads 8 --compressed 0 -v 3
result2profile /ebio/abt3_scratch/nyoungblut/LLCDS_126702996474/mmseqs_tax_query/09/seqs_db /ebio/abt3_scratch/nyoungblut/LLCDS_126702996474/mmseqs_tax_target/mmseqs_tax.db /ebio/abt3_scratch/nyoungblut/LLCDS_126702996474/mmseqs_tax/09/TMP/1355100225373504351/tmp_hsp1/9650299475897910544/aln_0 /ebio/abt3_scratch/nyoungblut/LLCDS_126702996474/mmseqs_tax/09/TMP/1355100225373504351/tmp_hsp1/9650299475897910544/profile_0 --sub-mat nucl:nucleotide.out,aa:blosum62.out -e 1e-05 --mask-profile 1 --e-profile 0.1 --comp-bias-corr 1 --wg 0 --allow-deletion 0 --filter-msa 1 --max-seq-id 0.9 --qid 0 --qsc -20 --cov 0 --diff 1000 --pca 0 --pcb 1.5 --db-load-mode 0 --gap-open nucl:5,aa:11 --gap-extend nucl:2,aa:1 --threads 8 --compressed 0 -v 3

MMseqs Version:           	a6cab565c98376623e82c3a04d186219d4c2f10c
Substitution matrix       	nucl:nucleotide.out,aa:blosum62.out
E-value threshold         	1e-05
Mask profile              	1
Profile E-value threshold 	1e-05
Compositional bias        	1
Global sequence weighting 	false
Allow deletions           	false
Filter MSA                	1
Maximum seq. id. threshold	0.9
Minimum seq. id.          	0
Minimum score per column  	-20
Minimum coverage          	0
Select N most diverse seqs	1000
Pseudo count a            	0
Pseudo count b            	1.5
Preload mode              	0
Gap open cost             	nucl:5,aa:11
Gap extension cost        	nucl:2,aa:1
Threads                   	8
Compressed                	0
Verbosity                 	3

Query database size: 1151 type: Aminoacid
Target database size: 41195879 type: Aminoacid
================================================================= ] 46.43% 535 eta 0s
==71239==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x61a0000233e0 at pc 0x55c61d242cd7 bp 0x7fc0f27db1b0 sp 0x7fc0f27db1a0
WRITE of size 1 at 0x61a0000233e0 thread T3
==71239==AddressSanitizer: while reporting a bug found another one.  I'll update you once we figure out how to fix this.

Ah sorry, that makes a lot of sense that this doesn't work. Iterative-profile searches won't work currently together with the taxonomy workflow, since the alignment positions computed in the taxonomy workflow don't refer to the same things that the iterative-profile-search workflow expects. I am not this type of search makes sense. Could you explain your use case for combining these two?
I am not sure if it's fixable with the current protocol, we might just disallow taxonomy in combination with iterative-profile searches instead.

Thanks for looking more into the issue.
I carried over the iterative search parameters from some other mmseqs search jobs. If iterative search parameters don't make sense for mmseqs taxonomy, then it would be good to remove that from the script docs.


use git actions cache to speed up builds

We deal with heavy dependencies in our builds because we need headless browsers to run e2e tests against open PRs before we approve them for merging.
Thanks to @zakiya and @xjensen for leading us toward this promising solution: https://docs.github.com/en/actions/advanced-guides/caching-dependencies-to-speed-up-workflows
This looks like a great way to speed up recurring builds which will most likely use the same version of the heavy dependencies

Currently evaluating a solution in cagov/drought.ca.gov#304.

This is live on drought.

Going to close this. We can use the drought as an example for the future.


No type error on length-mutating methods with readonly length

🔎 Search Terms
readonly length, array
🕗 Version & Regression Information

This is a crash
This changed between versions ______ and _______
This changed in commit or PR _______
This is the behavior in every version I tried, and I reviewed the FAQ for entries about _________
I was unable to test this on prior versions because _______

⏯ Playground Link
https://www.typescriptlang.org/play?target=99&jsx=0&ts=5.4.0-dev.20231205#code/GYVwdgxgLglg9mABAdxlAFgMQE5wF4CmYAMkQOYYA8AgogQB5REAmAzouANZhzJgDaAXQB8ACgCG2AFzUAlAFgAUAG8liRBASsoibAVYgANjoC8iatmziAngDpguALYTsCxeoDyAIwBWBaLbMBMAwYAQACrgADgTYUNaiegbGADQARIbkGGkpysjYaOJemVLA4oasBAC+bup6UCDYSElGOuLstABkiMq6BOLMCIbWiJlgFOhS5vwA5GMTM4KIVUorikqaYNqIjtYWViNmqBg4+ESk4xii-ACMKYgATPcAzIJuu-s2tlEgrOiiABZZIgAPQgxAAOTgiHiMToljg2FsiAASuBYI4CPDcEigA
💻 Code
function withFrozenLength<A extends unknown[]>(ar:A)
{
  const result = Array.from(ar)
  Object.defineProperty(result,"length",{writable:false})
  return result as A & { readonly length: A['length'] }
}

const myArray = withFrozenLength([1, 2, 3])
myArray.push(4) // No type error. Runtime error.

🙁 Actual behavior
Typescript accepts the above code. The code crashes at runtime with a runtime TypeError like:

Uncaught TypeError: Cannot assign to read only property 'length' of object '[object Array]'

🙂 Expected behavior
The push method should be rejected by the type checker.
Additional information about the issue
Partial overlap with a similar issue involving tuple types #40316

The push method should be rejected by the type checker.

Based on what? Your type clearly states it has such a method.

Based on what? Your type clearly states it has such a method. The existence of a read-only length property does not change the rest of the type.

The push method assigns the length property. If I were to do the effective equivalent, myArray[myArray.length++]=4, it would be rightly rejected as mutating a readonly property.
Relatedly, making a readonly Array type makes TypeScript think it doesn’t have a push method at all, which seems like it will lead to incorrect flow analysis.

The ECMAScript spec has a note:

This method is intentionally generic; it does not require that its this value be an Array. Therefore it can be transferred to other kinds of objects for use as a method.

It’s not merely an implementation detail - it’s a feature of the push method.

TypeScript doesn't know what push does beyond the types of its parameters and return type - it's just another method call, like any other.  The compiler doesn't look at the implementation of functions when you call them, it only checks whether the argument types are compatible.  It's no different to this:
const foo: { readonly foo: string } = { foo: "bar" };
fooey(foo);  // no error
console.log(foo.foo);  // prints "qux"

function fooey(foo: { foo: string }) {
    foo.foo = "qux";
}

readonly is not as strong a guarantee as you think it is.  It just means you can't mutate the property locally.

from saying that calling the method is illegal.

You can't represent "illegal methods" in TypeScripts type-system. And you can't represent immutability in TypeScripts type-system.

The type of push can also depend on the type of this, just as map does.

Indeed; I was implicitly including this as a parameter when I said “parameters and return type”

You can't represent "illegal methods" in TypeScripts type-system.

I would think you could by making the function signature require an argument of type never. Or by having some failing extends constraint.

And you can't represent immutability in TypeScripts type-system.

Yeah. I don’t understand why my above implementation of GetX decays into GetSetX given that function types should be contravariant in their argument types.

With that argument everything is pointless, because any lets you do all kind of shenanigans.

Emphasis on “implicitly”. Yes, any is the “hold my beer” of TypeScript 🥲.
———-
At any rate, I think this issue is a design limitation (at least unless/until #13347 is resolved)

I would think you could by making the function signature require an argument of type never.

It's valid to call functions expecting an argument of never when you have a value typed never. This is useful e.g. for a panic function.

(at least unless/until #13347 is resolved)

#13347 wouldn't change anything, because, again, your type says it has a push method, so it's possible to call the push method. Having a read-only length property does not magically make that method disappear.

It's valid to call functions expecting an argument of never when you have a value typed never. This is useful e.g. for a panic function.

Yes. Such a function is callable only by constructing a value of type never (or any). That is, only by using unsound parts of the type system.

#13347 wouldn't change anything, because, again, your type says it has a push method, so it's possible to call the push method. Having a read-only length property does not magically make that method disappear.

It wouldn’t fix the issue directly, but it would allow either declaring a function push({length:number}, /*…*/) so that calling it with a {readonly length:number} would require first explicitly narrowing away the readonly modifier.
To make a push method safe, you’d do something similar with a constraint on the type of this.

readonly doesn't mean immutable. A readonly property is one that you don't have write access to. It doesn't mean that the property value itself cannot change. There's nothing wrong, inconsistent, or unsound with an object having a readonly property that changes as a side effect of some other operation.

readonly doesn't mean immutable. A readonly property is one that you don't have write access to. It doesn't mean that the property value itself cannot change. There's nothing wrong, inconsistent, or unsound with an object having a readonly property that changes as a side effect of some other operation.

That’s true. A readonly property may change as the side effect of another operation. That is expressly not what happens here.
The Array.prototype.push function has no special access to the private underlying length. Per spec, it goes through the public length setter. That’s why making the property unwritable with Object.defineProperty results in a runtime TypeError.
I fail to see how an operation which calls the setter could possibly be in semantic agreement with something declared readonly. Design limitation, sure. But also semantically wrong.


Get metadata for versions

new GET version/metadata?versionId=[] endpoint
filter by versionId's and metadata headers

Description
New endpoint for surfacing metadata for a list of versions.
If versionId is supplied, endpoint will acquire metadata for those specific versions
Always allow/service versionId array list even if they represent different disparate objects
If there is an x-amz-meta-* header in the request, filter result so that only requested keys appear similar to /metadata behavior
https://apps.nrs.gov.bc.ca/int/jira/browse/SHOWCASE-2947

Types of changes

New feature (non-breaking change which adds functionality)

Checklist

[x] I have read the CONTRIBUTING doc
[x] I have checked that unit tests pass locally with my changes
[ ] I have added tests that prove my fix is effective or that my feature works
[x] I have added necessary documentation (if appropriate)

Further comments

Closing to punt the CI pipeline.


Unable to click "Skip" on the tutorial page on Android 4.4.4

Short description of the problem:
Unable to click "Skip" on the tutorial page - session filter appeared.
What behavior are you expecting?
Tutorial will be closed
Steps to reproduce:

Use Android 4.4.4 (Samsung Galaxy S5) on Genymotion
Deploy application
Try click to "Skip"

Run ionic info from terminal/cmd prompt:
Cordova CLI: 6.2.0
Gulp version:  CLI version 3.9.0
Gulp local:   Local version 3.9.1
Ionic Framework Version: 2.0.0-beta.11
Ionic CLI Version: 2.0.0-beta.32
Ionic App Lib Version: 2.0.0-beta.18
ios-deploy version: 1.8.6
ios-sim version: 5.0.8
OS: Mac OS X El Capitan
Node Version: v5.11.1
Xcode version: Xcode 7.3.1 Build version 7D1014

I have a similar issue with "SKIP" on the tutorial page. Sometimes, I click "SKIP" but not thing happen - keep in tutorial page, sometimes it can skip.
Devices: Android 5.1 (Meizu MX5)
Does it need more time to load tabs page?

I was able to reproduce this using a Nexus 4 running 4.4.4 and a Nexus 5 running 5.1.0. We're changing the structure of apps and making huge upgrades to the way templates are loaded so we're going to hold off on looking into this until those changes make it into master. Thanks!

@bushev can you still reproduce this issue with the latest version of the conference app? Thanks!

+1,android 4.3 with crosswalk

Hello! @storyge ! Is this still an issue with the latest version of the conference app? Thanks!

Hello all! I am going to close this issue for now as we have made alot of changes (AoT for the most part) that fixes this issue. Thanks!


Promise static method give error

VSCode Version: Code 1.10.1 (653f8733dd5a5c43d66d7168b4701f94d72b62e5, 2017-03-02T00:47:58.633Z)
OS Version: Linux x64 4.4.0-64-generic
Extensions:

Extension
Author
Version

vscode-markdownlint
DavidAnson
0.6.2

EditorConfig
EditorConfig
0.4.0

sort-lines
Tyriar
1.2.0

vscode-eslint
dbaeumer
1.2.7

tslint
eg2
0.8.1

cpptools
ms-vscode
0.10.2

Spell
seanmcbreen
0.9.1

Steps to Reproduce:

Code used

let p = Promise.resolve([1, 2, 3]);
p.then(function (v) {
  console.log(v[0]); // 1
});

Both the compiler and vscode give this error.

src/main.ts(17,9): error TS2693: 'Promise' only refers to a type, but is being used as a value here.

I've just been fighting with the same, and adding core-js to tsconfig.json's compilerOptions fixed it:
{   "compilerOptions": {     ...     "types" : [ "node", "jasmine", **"core-js"** ]   }

Thanks I also found another solution using NPM modules, the following seems to work.
npm i -D @types/core-js
npm i -D core-js

This works fine for TS code that is compiled to ES5 or earlier. As soon as you compile to ES6 or newer, you will see build errors like below about duplicate types.
I really think the TC compiler should be smart enough to figure out what "basic" types to include based  off the field target from the TS configuration files, tsconfig.json
{
  "compilerOptions": {
    "module": "commonjs",
    "target": "es6",

Error if you add types @types/core-js using modules and try to compile to different targets( es2015, es2017).
node_modules/@types/core-js/index.d.ts(21,14): error TS2300: Duplicate identifier 'PropertyKey'.
node_modules/@types/core-js/index.d.ts(85,5): error TS2687: All declarations of 'name' must have identical modifiers.
node_modules/@types/core-js/index.d.ts(145,5): error TS2403: Subsequent variable declarations must have the same type.  Variable '[Symbol.unscopables]' must be of type '{ copyWi
thin: boolean; entries: boolean; fill: boolean; find: boolean; findIndex: boolean; keys: ...', but here has type 'any'.
node_modules/@types/core-js/index.d.ts(262,5): error TS2687: All declarations of 'flags' must have identical modifiers.
node_modules/@types/core-js/index.d.ts(276,5): error TS2687: All declarations of 'EPSILON' must have identical modifiers.
node_modules/@types/core-js/index.d.ts(311,5): error TS2687: All declarations of 'MAX_SAFE_INTEGER' must have identical modifiers.
node_modules/@types/core-js/index.d.ts(318,5): error TS2687: All declarations of 'MIN_SAFE_INTEGER' must have identical modifiers.
node_modules/@types/core-js/index.d.ts(457,5): error TS2403: Subsequent variable declarations must have the same type.  Variable '[Symbol.toStringTag]' must be of type '"Symbol"
', but here has type 'string'.
node_modules/@types/core-js/index.d.ts(457,5): error TS2687: All declarations of '[Symbol.toStringTag]' must have identical modifiers.
node_modules/@types/core-js/index.d.ts(464,5): error TS2687: All declarations of 'prototype' must have identical modifiers.
node_modules/@types/core-js/index.d.ts(492,5): error TS2687: All declarations of 'hasInstance' must have identical modifiers.
node_modules/@types/core-js/index.d.ts(498,5): error TS2687: All declarations of 'isConcatSpreadable' must have identical modifiers.
node_modules/@types/core-js/index.d.ts(504,5): error TS2687: All declarations of 'iterator' must have identical modifiers.
node_modules/@types/core-js/index.d.ts(510,5): error TS2687: All declarations of 'match' must have identical modifiers.
node_modules/@types/core-js/index.d.ts(516,5): error TS2687: All declarations of 'replace' must have identical modifiers.
node_modules/@types/core-js/index.d.ts(522,5): error TS2687: All declarations of 'search' must have identical modifiers.
node_modules/@types/core-js/index.d.ts(528,5): error TS2687: All declarations of 'species' must have identical modifiers.
node_modules/@types/core-js/index.d.ts(534,5): error TS2687: All declarations of 'split' must have identical modifiers.
node_modules/@types/core-js/index.d.ts(540,5): error TS2687: All declarations of 'toPrimitive' must have identical modifiers.
node_modules/@types/core-js/index.d.ts(546,5): error TS2687: All declarations of 'toStringTag' must have identical modifiers.
node_modules/@types/core-js/index.d.ts(552,5): error TS2687: All declarations of 'unscopables' must have identical modifiers.
node_modules/@types/core-js/index.d.ts(609,5): error TS2403: Subsequent variable declarations must have the same type.  Variable '[Symbol.toStringTag]' must be of type '"Math"',
 but here has type 'string'.
node_modules/@types/core-js/index.d.ts(609,5): error TS2687: All declarations of '[Symbol.toStringTag]' must have identical modifiers.
node_modules/@types/core-js/index.d.ts(613,5): error TS2403: Subsequent variable declarations must have the same type.  Variable '[Symbol.toStringTag]' must be of type '"JSON"',
 but here has type 'string'.
node_modules/@types/core-js/index.d.ts(613,5): error TS2687: All declarations of '[Symbol.toStringTag]' must have identical modifiers.

@rajinder-yadav yep, I've also installed @types/core-js through npm before that, for sure.
//sidenote

Aside: As a developer, the last thing I care about is wasting my time with stupid type errors, the entire typing system needs to be hidden from the developer.

Agree :) I've also spent several hours yesterday with figuring out how to switch from typings to @types and related issues. I think the source of such issues is that related code grows rapidly when documentation is not so fast and even if it grows in parallel it can't cover all the cases. But let's hope for the best in the opensource world ;)
//end of sidenote

This is a TypeScript compiler/language issue. It does not seem that VSCode is the root cause. If you feel the current behavior of the compiler is incorrect or could be improved, please try raising this against TypeScript: https://github.com/Microsoft/TypeScript/issues

I get: [ts] 'Promise' only refers to a type, but is being used as a value here.
Per the suggestion above:
"compilerOptions": {
...
"types" : [ "core-js" ]
}
I still get the error.
static shouldBeUnique(control: Control)
{
      return new Promise((resolve, reject) =>
   {
      setTimeout(function()
      {
         if (control.value == "Dan")
            resolve({ shouldBeUnique: true });
         else
            resolve(null);
      }, 1000);
   });
}

@mjbvz thanks I will do that.

I found a solution here.
i.e., update your tsconfig.json with this:
{
  "compilerOptions": {
    "lib": ["es2017", "dom"]
  }
}


Enhance cookie functions

Address several issues raised by #2634

This isn't done yet, this is a branch in progress. This said, I don't know exactly how far I'll go, as some of your concerns may be specific to your use case, but at the very least I want them to be addressable via plugin (which isn't possible currently in master branch, hence this one)
There's no stripping of host name I'm aware of, at least in this branch. I suggest try the current master branch an open an issue if the problem persists.

@ozh
OKay Sure. What I really did was, just copied your modified functions-auth.php and functions.php. Then replaced in my environment files. By that way I checked and updated my comments. While checking I faced the domain name stripping after authentication.
Sorry if that was the wrong way to test it.


Run as daemon w/o systemd

I would like to be able to launch code-server with a command like code-server -d to launch it as a daemon without using systemctl services. (Like in a docker container, or systems without systemd)

You can do code-server & && disown to run it in the background from a shell and not allow it to exit.
I'd recommend using tmux or the like anyway so that you can easily restart and record output.

^+1

will anyone work on this?

We currently don't have plans to implement this (although we might in
the future since this is an idea we've thought about in the past) but
PRs are welcome!

yea, i don't know typescript :(

@reesericci could you clarify why code-server & && disown isn't enough? Or using tmux or screen so that you have easy access to the logs/output.

I'm using it in a docker container with other services, I don't use docker-compose.

If you start it with a shell, you can do code-server & && disown to put it in the background.


Release notes - Update 10.2.1-update.md

Wrong version number for Mobile CRM - not 10.2.1 but 10.2.7

Combined #704 and #705 + additional changes and squashed to main in commit 8ed6f3c224962c78d193f451e28c82d357d55aa7


[fastlane_core] prevent negative argument error for message formatting

Checklist

[x] I've run bundle exec rspec from the root directory to see all new and existing tests pass
[x] I've followed the fastlane code style and run bundle exec rubocop -a to ensure the code style is valid
[x] I see several green ci/circleci builds in the "All checks have passed" section of my PR (connect CircleCI to GitHub if not)
[x] I've read the Contribution Guidelines
[x] I've updated the documentation if necessary.

Motivation and Context

When trying to run Fastlane on a Windows CI instance, it fails with negative argument
C:/tools/ruby31/lib/ruby/gems/3.1.0/gems/fastlane-2.211.0/fastlane_core/lib/fastlane_core/ui/implementations/shell.rb:95:in `*': \e[31m[!] negative argument\e[0m (ArgumentError)

This problem was identified in this issue:
https://github.com/fastlane/fastlane/issues/20123
Description

Seems TTY::Screen.width is not reliable and can result in the TTY::Screen.width - format.length calculation to be negative, which will break when trying to do success("-" * i) where i is negative. This change will limit the value i to be greater or equal to zero.
Testing Steps

Tested running with my changes in our CI (using Git bash for Windows), works as expected:
        bundle install && bundle update fastlane
        bundle show fastlane
        LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 FASTLANE_OPT_OUT_USAGE=1 bundle exec fastlane android validate_key

Output:
[2022-11-15T15:22:15.821Z] Using fastlane 2.211.0 from source at `C:/Users/Administrator/fastlane` and installing its executables
[2022-11-15T15:22:15.922Z] Using xcov 1.4.3
[2022-11-15T15:22:15.922Z] Bundler attempted to update fastlane but its version stayed the same
[2022-11-15T15:22:15.922Z] Bundle updated!
[2022-11-15T15:22:16.630Z] C:/Users/Administrator/fastlane
[2022-11-15T15:22:20.782Z] [15:22:20]: ---------------------------
[2022-11-15T15:22:20.782Z] [15:22:20]: --- Step: opt_out_usage ---
[2022-11-15T15:22:20.782Z] [15:22:20]: ---------------------------
[2022-11-15T15:22:20.782Z] [15:22:20]: Disabled upload of used actions
[2022-11-15T15:22:20.782Z] [15:22:20]: ------------------------------
[2022-11-15T15:22:20.782Z] [15:22:20]: --- Step: default_platform ---
[2022-11-15T15:22:20.782Z] [15:22:20]: ------------------------------
[2022-11-15T15:22:20.782Z] [15:22:20]: Driving the lane 'android validate_key' ðŸš€
[2022-11-15T15:22:20.782Z] [15:22:20]: ------------------------------------------
[2022-11-15T15:22:20.782Z] [15:22:20]: --- Step: validate_play_store_json_key ---
[2022-11-15T15:22:20.782Z] [15:22:20]: ------------------------------------------
[2022-11-15T15:22:20.782Z]
[2022-11-15T15:22:20.782Z] +----------+------------------------------------+
[2022-11-15T15:22:20.782Z] |   Summary for validate_play_store_json_key    |
[2022-11-15T15:22:20.782Z] +----------+------------------------------------+
[2022-11-15T15:22:20.782Z] | json_key | ../ci/android/google-play-key.json |
[2022-11-15T15:22:20.782Z] | timeout  | 300                                |
[2022-11-15T15:22:20.782Z] +----------+------------------------------------+
[2022-11-15T15:22:20.782Z]
[2022-11-15T15:22:20.883Z] [15:22:20]: Successfully established connection to Google Play Store.
[2022-11-15T15:22:20.883Z] [15:22:20]: Successfully executed lane: validate_key
[2022-11-15T15:22:20.984Z]
[2022-11-15T15:22:20.984Z] +------+------------------------------+-------------+
[2022-11-15T15:22:20.984Z] |                 fastlane summary                  |
[2022-11-15T15:22:20.984Z] +------+------------------------------+-------------+
[2022-11-15T15:22:20.984Z] | Step | Action                       | Time (in s) |
[2022-11-15T15:22:20.984Z] +------+------------------------------+-------------+
[2022-11-15T15:22:20.984Z] | 1    | opt_out_usage                | 0           |
[2022-11-15T15:22:20.984Z] | 2    | default_platform             | 0           |
[2022-11-15T15:22:20.984Z] | 3    | validate_play_store_json_key | 0           |
[2022-11-15T15:22:20.984Z] +------+------------------------------+-------------+
[2022-11-15T15:22:20.984Z]
[2022-11-15T15:22:20.984Z] [15:22:20]: fastlane.tools finished successfully ðŸŽ‰

Hey @akselilukkarila 👋
Thank you for your contribution to fastlane and congrats on getting this pull request merged 🎉 The code change now lives in the master branch, however it wasn't released to RubyGems yet. We usually ship about once a week, and your PR will be included in the next one.
Please let us know if this change requires an immediate release by adding a comment here 👍 We'll notify you once we shipped a new release with your changes 🚀

Are you planning to do a release soon? It has been two weeks since this was merged and we would like to start using the fixed version in our CI, since the current released version is broken...

hello
any plans to create a release for this?


travis: drop python 3.5

Looks reasonably ok to me. I'm going to merge it and work on it a little bit further.


Shuffle is shuffling categories as well

The categories should not be shuffling when using the Shuffle button in the project view.  Happens in both grid and list views of projects.

I don't face this problem on mine, possibly a recent fix may have introduced this bug. Maybe when my latest PR is reviewed and merged you can test again and see if it persists

Agreed, didn't see this behavior in your current PR.

The categories should not be shuffling when using the Shuffle button in the project view. Happens in both grid and list views of projects.

Even I'm facing this

Fixed in #119


Remove HelloSdl from library project

Currently we are including the multiplexed version of the HelloSdl project in the develop branch of the proxy library project.  Ideally we would want to just update the HelloSdl project to include an additional branch that includes multiplexing and remove the sample from the proxy library.

The dev branch of HelloSdl project should be updated to the dev version of the library

Cool, could we remove the reference in the library?

Once the HelloSdl project is updated I can create fix for the library.

Sounds good.

Fixed with PR #318


Remove unused Loggable::extended_arrow_datatype

Title.

Part of a lot of clean up I want to while we head towards:

https://github.com/rerun-io/rerun/issues/7245
#3741

Checklist

[x] I have read and agree to Contributor Guide and the Code of Conduct
[x] I've included a screenshot or gif (if applicable)
[x] I have tested the web demo (if applicable):

Using examples from latest main build: rerun.io/viewer
Using full set of examples from nightly build: rerun.io/viewer

[x] The PR title and labels are set such as to maximize their usefulness for the next release's CHANGELOG
[x] If applicable, add a new check to the release checklist!
[x] If have noted any breaking changes to the log API in CHANGELOG.md and the migration guide

PR Build Summary
Recent benchmark results
Wasm size tracking

To run all checks from main, comment on the PR with @rerun-bot full-check.

@rerun-bot full-check


Update linting for JS  in order to follow a standard convention in the commas

Steps to reproduce and a minimal demo of the problem
Try to lint a code like:
var obj = {
 a: 'value',
 c: 'another_value',
}

Current behavior
It triggers a lint error since does not require the last comma, however this pattern is allowed on the WP Code Standard.

Note the comma after the last array item: this is recommended because it makes it easier to change the order of the array, and makes for cleaner diffs when new items are added.

Expected/desired behavior
Always require the last comma on the object / array that aren't in a single line.
Other information
N / A

I only see one problem with this. All JS code will be without the last comma (ie if we use APIs and stuff) The comma in the last element of the JSON/object it's only a PHP or WP convention.
I really don't see the reason to switch, we can have different conventions here... they're actually different languages! :P

I don't get your first point, would you mind clarify that.
This is in order to have a consistency between style guides in the languages.

Yeah sorry. I mean, that we're going to use that comma because it's a php thing in our javascript code..Which to me does not make any sense.
Probably my first example was not accurate, but are you really sure there's no issues if we do that? For example:
Ref: http://stackoverflow.com/questions/5139205/javascript-can-a-comma-occur-after-the-last-set-of-values-in-an-array
We have FE separated from the BE and they're different languages, I think we have to follow their own code standards as much as we can. I don't see the point of change this in JS only because PHP needs it.
But again, this is a complete personal opinion! I just felt that I had something to add here hehe.
Thank you!

OK I see your point now.

It's not a PHP thing it's a WordPress Code Standard Rule as mentioned above. And having a one set of rules across languages (were is possible) regardless of the language makes more sense for example if you are going to switch from writting the BE and the FE imagine you have 3 different rules for 3 different languages like:

// valid only PHP
class a   {
}

// Valid only  on JS
class a
{
}

// Valid only on CSS
.class{
}

If you are going to work in any bug on the app you require to know 3 different style guides and if we follow this pattern we need to know n style guides as languages.
In my opinion is easier to know one styleguide regardless of the language that you can apply to any part of the site, makes things more consistent and also easier to move around without the pain of learning curve of different style guides.

For the second point:

The problem is only present on IE 8 and below.
The build process (minification) before the deploy to staging / production deploy removes this since does not have any value on the code example:

Before
angular
  .module( 'app', [
    'ngConstants',
    'ngSanitize',
    'templateCache',
    'lnCms',
    'lnFilters',
    'lnPatterns', // notice a coma here
  ])
  .config( appConfig )
  .run( appRun );

After build
l["default"].module("app", ["ngConstants", "ngSanitize", "templateCache", "lnCms", "lnFilters", "lnPatterns"]).config(o).run(r);

// Notice there is no comma above.

As you can see I don't see any reason to avoid the implementation of this new rule.

Yeah, WP standard sorry about that! :+1:
I just think that we should follow the community standards on every language as much as we can, also because we're developing Open Source tools, and maybe people will use these standards if they want to contribute, but we're setting different rules only because we want some consistency.
About the minification thing, you're right, I didn't notice that before.
I see your points, and I think they're valid points. I still don't think this is something needed. Anyways, let's go with the change! If everyone agrees I don't see the reason to delay this.
Thanks you.

Sounds good, just as a heads up, we are already doing this with JS and Sass where we are following specific rules for the JS that match the WP Standard Guide  + The John Papa Style guide.

Though initially I was also reluctant to the idea of a trailing comma in an array (for the same reasons @Rulox exposed before), I can see as well the advantages: quick copy/paste for sorting elements in an array, better diffs and general consistency across project environments.... and besides, so I think it makes sense to go for it @mitogh ;)


BTreeMap and outside node value crash after delete

Have a BTreeMap with values stored outside of nodes. If an iterator contains deserialized node with reference to an value and it gets deleted: The iterator will try to fetch non-existing recid from store and will fail with an IOError.
The outside values must be replaced with thumbstone marker for off-line deletion. Not deleted.

I now understand where is the problem. There is a race condition between external value removal and removal from BTreeMap. It means that BTreeMap.get() must be write locked if external values are enabled.

Could this also be related to the issue-664?


WIP: F-GPU-1077 Collect and Resolve Dependencies

Issue: https://jira.gentics.com/browse/GPU-1077

Closing as this PR will be merged together with stories from the epic branch


Maximum topics in Conditional messaging

I want to send a message to 'A' and 'B' and 'C' and 'D'.
I want to know how many topics can we have here in condition?

You can include up five (5) topics in a condition. If you include more, the SDK/Firebase API will throw an error.


fixed error (function component is not a function declaration)

I made changes in all routes for function type.

Since we wont be using airbnb style guide and declaring components as functions, this wouldn't be an issue.
Fix for this comming shortly. @ninman27


Roll Flutter from ec20ea80ad98 to 41c606335646 (1 revision)

https://github.com/flutter/flutter/compare/ec20ea80ad98...41c606335646
2022-05-23<EMAIL_ADDRESS>Sped up Element._sort (flutter/flutter#104103)
If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/flutter-plugins
Please CC<EMAIL_ADDRESS>on the revert to ensure that a human
is aware of the problem.
To file a bug in Plugins: https://github.com/flutter/flutter/issues/new/choose
To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug
Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md

Commit queue failed; closing this roll.


stake-pool: Split up more tests to help CI, avoid warping

Problem
There are still some CI failures in the stake pool tests, potentially because of warping, potentially because of too many tests in one file.
Also, doing update_stake_pool_balance unnecessarily may be causing issues.
Solution
Address the failing tests by splitting up even more, and avoid a few warps.  No behavior changes in this.

This seems to have improved a little bit, unless the last run just got lucky. Merging it in!


Update formatting

Codecov Report
Base: 69.90% // Head: 69.90% // No change to project coverage :thumbsup:

Coverage data is based on head (7d90015) compared to base (ac7d415).
Patch has no changes to coverable lines.

Additional details and impacted files
@@            Coverage Diff            @@
##             master     #422   +/-   ##
=========================================
  Coverage     69.90%   69.90%
  Complexity      717      717
=========================================
  Files           106      106
  Lines          2429     2429
  Branches        322      322
=========================================
  Hits           1698     1698
  Misses          610      610
  Partials        121      121

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

:umbrella: View full report at Codecov.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


Sort sections on CRE page

Please sort each section on the CRE page, at least according to 'name' and if possible to 'name'+'section' because now NIST, ISO and ZAP entries are all mixed.
The key is in this code at CommonRequirementEnumeration.tsx
const linksByType = useMemo(() => (display ? orderLinksByType(groupLinksByType(display)) : {}), [display]);
return (

Hello robvanderveer. I would like to work upon this issue. But I am having a trouble while cloning the repo I am getting this particular error.
error: invalid path 'cres/>>Authentication.yaml'
fatal: unable to checkout working tree
warning: Clone succeeded, but checkout failed.
You can inspect what was checked out with 'git status'
and retry with 'git restore --source=HEAD :/'
Can u help in figuring it out so I can contribute to the project.
Thank you

Hey, it's great that you want to pick up this issue! I am copying Spyros as
he is more familiar with git than I am.
Best,
Rob
On Tue, Jun 13, 2023 at 11:45 AM sudoaptrana @.***>
wrote:

Hello robvanderveer. I would like to work upon this issue. But I am having
a trouble while cloning the repo I am getting this particular error.
error: invalid path 'cres/>>Authentication.yaml'
fatal: unable to checkout working tree
warning: Clone succeeded, but checkout failed.
You can inspect what was checked out with 'git status'
and retry with 'git restore --source=HEAD :/'
Can u help in figuring it out so I can contribute to the project.
Thank you
—
Reply to this email directly, view it on GitHub
https://github.com/OWASP/common-requirement-enumeration/issues/289#issuecomment-1588940191,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAGCQ6SFLY5WBW7W7IRGZSLXLAZCNANCNFSM6AAAAAAYG7EHW4
.
You are receiving this because you authored the thread.Message ID:
@.***>

Hey @geekaryan  thanks for offering to contribute!
I'm having trouble reproducing your issue, are you on windows or macos?

Thank you @northdpole  for helping me out. Now I can run it in my local environment but not able to push the code as the main branch is still behind and as you have mentioned by next week I will able to create a pull request. Till then I will be very happy if I am able to fix more issues,


Can't convert model ViT KPRPE to onnx

I convert model ViT KPRPE to onnx. But when opening the model with netron, the structure of this model is wrong, the network only has 1 input (I think there should be 2 inputs are image and landmarks).

Thanks for the effort. It is correct that the network takes 2 inputs. While we do not support netron out of the box, please feel free to PR any updates regarding opening the model with netron.


feat: show onboarding btn on small screens

Show onboarding button on small screens
This PR adds the onboarding button on mobile screens up to 640px breakpoint
What type of PR is this? (check all applicable)

[X] 🍕 Feature
[ ] 🐛 Bug Fix
[ ] 📝 Documentation Update
[ ] 🎨 Style
[ ] 🧑💻 Code Refactor
[ ] 🔥 Performance Improvements
[ ] ✅ Test
[ ] 🤖 Build
[ ] 🔁 CI
[ ] 📦 Chore (Release)
[ ] ⏩ Revert

Related Tickets & Documents
Closes #1462
Mobile & Desktop Screenshots/Recordings
https://github.com/open-sauced/app/assets/66239216/6a6f23e2-f62a-47e4-b120-9f44e38f5569
Added tests?

[ ] 👍 yes
[X] 🙅 no, because they aren't needed
[ ] 🙋 no, because I need help

Added to documentation?

[ ] 📜 README.md
[ ] 📓 docs.opensauced.pizza
[ ] 🍕 dev.to/opensauced
[ ] 📕 storybook
[X] 🙅 no documentation needed

[optional] Are there any post-deployment tasks we need to perform?
[optional] What gif best describes this PR or how it makes you feel?

Hey @289Volts , thanks for opening a PR for this fix 👏👏... i think you have a merge conflict to resolve 👍

Hey @289Volts , thanks for opening a PR for this fix 👏👏... i think you have a merge conflict to resolve 👍

Thank you for your feedback. I have resolved the merge conflicts and i await your honest review on the PR

Try running the build locally to fix the build error @289Volts

Hey @289Volts
From your screencast demoing the implementation, the Onboarding button seem to not be displayed at all on Desktop/Larger screen sizes.
We wish for the button to display on these screen size too.

Hey @289Volts
From your screencast demoing the implementation, the Onboarding button seem to not be displayed at all on Desktop/Larger screen sizes.
We wish for the button to display on these screen size too.

The reason for this is because the onboarding component is in two different sections of the header. the one that is shown on mobile is intentional to display the fix for this issue

I have also discovered that on large screens (1024px), the onboarding button text wraps to the second line because of lack of space to accommodate all the elements in the header.

The fix i propose is to use the same toolpicker style used for mobile screens for large screens too

OR show the tool tip when they hover on the button icon (it is accessible to screen readers)
https://github.com/open-sauced/app/assets/66239216/9ce2140d-3a25-460a-9883-031be5f5d877

Try running the build locally to fix the build error @289Volts

I have run the build and i discovered the error wasn't caused by a component i worked on.

From the above screenshot, it seems you don't have the @nivo/bar package installed. crosscheck to confirm you have

in the package.json file. if no, then try installing it with npm i @nivo/bar else, just run npm ci to update your dependencies


DSP-284 Display app version in header

resolves DSP-284

It looks good on a desktop screen. However, in a tablet and phone screens, it overlaps the app name.
PS: in a tablet screen, both full and cropped app names are displayed...

I see. I will refactor it now...

The issue with responsive logo should be fixed. With the version "0.0.0-PLACEHOLDER" in development version it's way too long of course. With the longest version number e.g. "3.0.0-rc.12" it could look as follow:


typing.Tuple not treated like a subscriptable object

Describe the bug
I cannot document sequence-like return type inferred from the signature annotation. Tuple[x, x] throws a "index out of range" exception.
Please feel free to edit the this issue's title if it is misleading or incorrect.
To Reproduce
Steps to reproduce the behavior:

document a functiondef parse_ignore_option(paths: str) -> Tuple[list, list]:  # should be -> Tuple[List[str], List[str]]:
    """Parse a given string of paths (separated by a '|') into `ignored` and
    `not_ignored` lists of strings.

    Args:
        paths: This argument conforms to the CLI arg `--ignore` (or `-i`).

    Returns:
        A tuple of lists in which each list is a set of strings.
        - index 0 is the `ignored` list
        - index 1 is the `not_ignored` list
    """

Run command mkdocs build
fails with traceback

Full traceback
ERROR    -  Error reading page 'API Reference\cpp_linter.run.md': list index out of range
Traceback (most recent call last):
  File "C:\Users\ytreh\AppData\Local\Programs\Python\Python310\lib\runpy.py", line 196, in _run_module_as_main
    return _run_code(code, main_globals, None,
  File "C:\Users\ytreh\AppData\Local\Programs\Python\Python310\lib\runpy.py", line 86, in _run_code
    exec(code, run_globals)
  File "path\to\venv\Scripts\mkdocs.exe\__main__.py", line 7, in <module>
  File "path\to\venv\lib\site-packages\click\core.py", line 1130, in __call__
    return self.main(*args, **kwargs)
  File "path\to\venv\lib\site-packages\click\core.py", line 1055, in main
    rv = self.invoke(ctx)
  File "path\to\venv\lib\site-packages\click\core.py", line 1657, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "path\to\venv\lib\site-packages\click\core.py", line 1404, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "path\to\venv\lib\site-packages\click\core.py", line 760, in invoke
    return __callback(*args, **kwargs)
  File "path\to\venv\lib\site-packages\mkdocs\__main__.py", line 192, in build_command
    build.build(config.load_config(**kwargs), dirty=not clean)
  File "path\to\venv\lib\site-packages\mkdocs\commands\build.py", line 292, in build
    _populate_page(file.page, config, files, dirty)
  File "path\to\venv\lib\site-packages\mkdocs\commands\build.py", line 174, in _populate_page
    page.render(config, files)
  File "path\to\venv\lib\site-packages\mkdocs\structure\pages.py", line 175, in render
    self.content = md.convert(self.markdown)
  File "path\to\venv\lib\site-packages\markdown\core.py", line 264, in convert
    root = self.parser.parseDocument(self.lines).getroot()
  File "path\to\venv\lib\site-packages\markdown\blockparser.py", line 90, in parseDocument
    self.parseChunk(self.root, '\n'.join(lines))
  File "path\to\venv\lib\site-packages\markdown\blockparser.py", line 105, in parseChunk
    self.parseBlocks(parent, text.split('\n\n'))
  File "path\to\venv\lib\site-packages\markdown\blockparser.py", line 123, in parseBlocks
    if processor.run(parent, blocks) is not False:
  File "path\to\venv\lib\site-packages\mkdocstrings\extension.py", line 121, in run
    html, handler, data = self._process_block(identifier, block, heading_level)
  File "path\to\venv\lib\site-packages\mkdocstrings\extension.py", line 209, in _process_block
    rendered = handler.render(data, options)
  File "path\to\venv\lib\site-packages\mkdocstrings_handlers\python\handler.py", line 232, in render
    return template.render(
  File "path\to\venv\lib\site-packages\jinja2\environment.py", line 1301, in render
    self.environment.handle_exception()
  File "path\to\venv\lib\site-packages\jinja2\environment.py", line 936, in handle_exception
    raise rewrite_traceback_stack(source=source)
  File "path\to\venv\lib\site-packages\mkdocstrings_handlers\python\templates\material\module.html", line 1, in top-level template code
    {% extends "_base/module.html" %}
  File "path\to\venv\lib\site-packages\mkdocstrings_handlers\python\templates\material\_base\module.html", line 58, in top-level template code
    {% include "children.html" with context %}
  File "path\to\venv\lib\site-packages\mkdocstrings_handlers\python\templates\material\children.html", line 1, in top-level template code
    {% extends "_base/children.html" %}
  File "path\to\venv\lib\site-packages\mkdocstrings_handlers\python\templates\material\_base\children.html", line 61, in top-level template code
    {% include "function.html" with context %}
  File "path\to\venv\lib\site-packages\mkdocstrings_handlers\python\templates\material\function.html", line 1, in top-level template code
    {% extends "_base/function.html" %}
  File "path\to\venv\lib\site-packages\mkdocstrings_handlers\python\templates\material\_base\function.html", line 60, in top-level template code
    <div class="doc doc-contents {% if root %}first{% endif %}">
  File "path\to\venv\lib\site-packages\jinja2\environment.py", line 485, in getattr
    return getattr(obj, attribute)
  File "C:\Users\ytreh\AppData\Local\Programs\Python\Python310\lib\functools.py", line 981, in __get__
    val = self.func(instance)
  File "path\to\venv\lib\site-packages\griffe\dataclasses.py", line 142, in parsed
    return self.parse()
  File "path\to\venv\lib\site-packages\griffe\dataclasses.py", line 155, in parse
    return parse(self, parser or self.parser, **(options or self.parser_options))
  File "path\to\venv\lib\site-packages\griffe\docstrings\parsers.py", line 51, in parse
    return parsers[parser](docstring, **options)  # type: ignore[operator]
  File "path\to\venv\lib\site-packages\griffe\docstrings\google.py", line 673, in parse
    section, offset = reader(docstring, offset + 1, **options)  # type: ignore[operator]
  File "path\to\venv\lib\site-packages\griffe\docstrings\google.py", line 369, in _read_returns_section
    annotation = annotation.tuple_item(index)
  File "path\to\venv\lib\site-packages\griffe\expressions.py", line 170, in tuple_item
    return self[2][2 * nth]
IndexError: list index out of range

Expected behavior
I expected the plugin to understand that typing.Tuple is subscriptable. Historically, I've used tuple as the return type without problems, but this doesn't satisfy stricter mypy configs.
System (please complete the following information):

griffe version: 0.20.0
Python version: 3.x (tried on 3.7-3.10)
OS: Windows or Linux (tried both)

Additional context
This might be a duplicate of #69, but I'm not sure because this doesn't seem related to the content of the docstring.

Hello, thanks for the report. The issue is probably because of the way we parse the Returns section. Since we added support for documenting multiple return value, each line is considered a new item, hence Griffe will try to split the return type, and it will fail.
A quick solution would be to indent your continuation lines:
    Returns:
        A tuple of lists in which each list is a set of strings.
            - index 0 is the `ignored` list
            - index 1 is the `not_ignored` list

The long-term solution is to allow users to enable/disable multiple return values, so that they don't have to indent their single returned value description.

Thanks, this error output could simply use more context. I was able to rememdy this using the proper annotations:
def parse_ignore_option(paths: str) -> Tuple[List[str], List[str]]:
    """Parse a given string of paths (separated by a '|') into `ignored` and
    `not_ignored` lists of strings.

    Args:
        paths: This argument conforms to the CLI arg `--ignore` (or `-i`).

    Returns: Returns a tuple of lists in which each list is a set of strings.
        index 0 is the `ignored` list
        index 1 is the `not_ignored` list
    """

Although I'm not particularly happy about the type annotations gettings stripped from the signature:

Although I'm not particularly happy about the type annotations gettings stripped from the signature:

This isn't related to this issue. You can enable annotations in signature with the show_signature_annotations option.

Hello, thanks for the report. The issue is probably because of the way we parse the Returns section. Since we added support for documenting multiple return value, each line is considered a new item, hence Griffe will try to split the return type, and it will fail. A quick solution would be to indent your continuation lines:
    Returns:
        A tuple of lists in which each list is a set of strings.
            - index 0 is the `ignored` list
            - index 1 is the `not_ignored` list

The long-term solution is to allow users to enable/disable multiple return values, so that they don't have to indent their single returned value description.

@pawamoy Is the long-term solution available or planned?

It's planned :)

With the currently supported format of the Returns section, how to document a return value that could be a tuple or another non tuple type?
For instance def f() -> int | tuple[int, int].

No other choice than to document it using a single item.

It's planned :)

May I help you?

Sure, you can help by making this configurable in Griffe, in the Google docstrings parser :) A new option like returns_multiple_items, defaulting to true to match and maintain the current behavior. Then once Griffe supports it we can document it in mkdocstrings-python.

Sure, you can help by making this configurable in Griffe, in the Google docstrings parser :) A new option like returns_multiple_items, defaulting to true to match and maintain the current behavior. Then once Griffe supports it we can document it in mkdocstrings-python.

Thank you, I'll try to figure it out.


Convert into contributor

Pls tell me how can convert to contributor
I want to translate to es, de and it my languages domain strings in Json or other formatting and MD or RST file
And about docker images
Pls guide me in this matter

https://github.com/apache/superset/blob/master/CONTRIBUTING.md
https://preset.io/blog/tutorial-contributing-code-to-apache-superset/


Missing API documentation

Hi,
can you please create an api documentation.
planning to make an integration with a view POS systems. (Lightspeed, Untill)
https://tastyigniter.com/marketplace/item/igniter-api
(this link is currently empty)
thanks !

There are docs linked here:
https://github.com/tastyigniter/ti-ext-api
(scroll to the bottom of readme)

If this helped can you close the issue please?

Use issues to report bugs, please start a discussion on the forums or better still search the forums for existing solutions.


Fix regex, add GitHub Token

Regex was matching only RCs. Fixed to include normal releases as well.
Added GitHub token to prevent rate limiting.

Todo:

[ ] Need to add GitHub token to Deployment configs in aos-art-web and art-build-dev before merge.


Use x509 credentials returned by auth_exec

Fixes https://github.com/clux/kube-rs/issues/196
No test code available, sorry. I'm currently getting my feet wet with kind. At least the required changes are minimal.
Thanks!

I just tried using master and it worked without these changes. The referenced issue affects 0.30.0 but not master, which I hadn't tried yet. No point in merging now.


How to get the Optmised circuit after QAOA

The current QAOA algorithm returns opt-Val and opt-params. Can I get measurement results of the form {'bitstring':'counts'} or the optimized circuit from it?

Hey @aswanthkrishna, for the bit strings, depends on what Accelerator you are using and what initialization parameters you provide it. What does your getAccelerator() call look like? If you are using an Accelerator that produces bit strings, then those bit strings will be collected on the children of the AcceleratorBuffer that you are using.
As for getting the optimized circuit: If you have the optimized parameters, I would just re-create the qaoa circuit and evaluate it at those parameters. Something like this
provider = xacc.getIRProvider('quantum')
qaoa = xacc.asComposite(xacc.createInstruction('qaoa', {}))
params = xacc.HeterogeneousMap()
params.insert('nbQubits', n_q)
params.insert('nbSteps', n_steps)
params.insert('cost-ham', cost_observable)
params.insert('ref-ham', ref_hamiltonian) # optional
qaoa.expand(m)

opt_circ = qaoa.eval(opt_params)

Let me know if you need this for C++ and not Python. I can post that here too.

Thank you for you help @amccaskey . I am currently using the 'aer' accelerator.
qpu = xacc.getAccelerator('aer')
also` when I run this code, I am getting the following error.

AttributeError: module 'xacc' has no attribute 'createInstruction'

sorry, should be provider.createInstruction('qaoa', {})

Thank you so much for your help!  what is 'ref-ham' here?


Command "sbt gatling:generateReport"  does not use src\test\resources\gatling.conf

In version 3.1.0 and earlier versions of the gatling-sbt plugin, the "sbt gatling:generateReport" command used the settings in src \ test \ resources \ gatling.conf.
However, in version 3.2.0 and later versions of the gatling-sbt plugin, the "sbt gatling:generateReport" command does not used the settings in src \ test \ resources \ gatling.conf.
I think it's a classpath related bug, but I didn't know how to fix it correctly.
Also, I was not allowed to register ISSUE in the gatling-sbt repository, so I will register ISSUE here.
The procedure for confirming the operation is as follows.

Clone the master branch of the gatling-sbt-pluguin-demo repository.
Change the gatling-sbt version of project\plugins.sbt to 4.0.0-M1.
Execute "sbt gatling:copyConfigFiles" command to generate src\test\resources\gatling.conf.
Change percentile2 in the gatling.conf file to 90(default is 75).
Running the simulation with the "sbt gatling:testOnly" command produces an HTML report (percentile2 is 90).
When I execute the "sbt gatling:generateReport" command, an HTML report (percentile is default 75) is generated.
At this time, it was confirmed that target\scala-2.13\test-classes was not created.
Move the gatling.conf file to src\main\resources.
When I execute the "sbt gatling:generateReport" command, an HTML report (percentile is 90) is generated.

The environment that has been confirmed to work is as follows.
・Windows 10 Pro
・AdoptOpenJDK 11
・sbt 1.5.5
・gatling 3.6.1
・scala 2.13.6

Thanks for the detailed reports.
I can confirm I can reproduce and things indeed work as expected in 3.1.0.


Changes for OpenShift

@objectiser , @pavolloffay , could you please review/merge?

@jpkrohling Tested locally and it seems fine. :+1:

retest this please

@jpkrohling Thanks!


m.login.token

LGTM

Are there any restrictions on how this token should be scoped (is it meant to be one-time?)  An example use case could be helpful to understand how this is meant to be used.  Why is 'nonce' called a nonce, if it's just a UID?

I'm not sure how the nonce is supposed to work beyond providing idempotency here. There seemingly isn't any correlation between it and the token provided. How does it protect against replay attacks? The docs don't seem to mention when the token is invalidated.

Are there any restrictions on how this token should be scoped (is it meant to be one-time?)

Depends on the token in question. It probably will be one time in most circumstances.

An example use case could be helpful to understand how this is meant to be used.

For example, using an existing logged in device to log in a new one. Would be useful for mobile apps to be able to scan a one time QR code to log in.

Why is 'nonce' called a nonce, if it's just a UID?

I guess. Its function is to allow the server to do one time tokens while still allowing retries, i.e. a server will reject anyone else trying to use that token with a different nonce/uid. The main requirement is that its non-guessable by third parties.

How about txn_id ?

We should probably state for how long after consuming the nonce/txn_id you can still get an access_token for, else that could be fun if I can reuse the same token/nonce combo in like 3 days time.

Hmm, interesting point. What do we say for other APIs where we use txn_ids?

The only APIs which use txn_ids are for sending events in a room which then NOP on subsequent requests since the event has already been sent. AFAIK it will persist in-memory the last few txn_ids and doesn't expire them (it doesn't need to as there isn't potential security leakage like this has with returning an access_token days after the initial request)

It would probably be enough to invalidate the token after we see the client using the access_token? In which case it is an implementation detail? (The tokens may also invalidate themselves after a short time, or they may not)

I would rather not leave this open to interpretation given the sensitive nature of the data. We should probably state that on receipt of a valid token it will be valid for up to X seconds (if this is literally just for retries at the HTTP-level, then really anything > 5 minutes would be crazy, so perhaps X=300?) Specifying an upper-bound ticks the due diligence box whilst still giving implementations some flexibility depending on how far on the paranoia scale they are.

5 minutes is not really enough if you suddenly disappear into the underground for 20mins, and then come out only to discover that your one time token is now invalid. Depending on where you got the token, it may be easy or impossible to get another one
Also, what attacks are you trying to protect against here? The only way both the txn_id and token can be leaked is if they are MITM'ing the connection or have infiltrated the device, and even if an attacker gets both the token could only be used again between the actual device receives the token and it using it.
It's also worth noting that this spec doesn't actually specify currently that the token must be one use.

even if an attacker gets both the token could only be used again between the actual device receives the token and it using it.

You don't specify anywhere about scoping these tokens to a device.
I don't really see what the point of the txn_id is then. Why can't we ensure idempotency via the token / user_id combo itself if it isn't a one-time use thing (because I can resend the same request on the same device and get a response back). It's not like that can be confused with another login using a token, right?

You don't specify anywhere about scoping these tokens to a device.

That's more up to the thing generating the tokens. This is meant to be a general purpose API that supports a lot of different token based use cases. The details of the scoping of a token would be specced us part of whatever was generating the token.

I don't really see what the point of the txn_id is then. Why can't we ensure idempotency via the token / user_id combo itself if it isn't a one-time use thing (because I can resend the same request on the same device and get a response back). It's not like that can be confused with another login using a token, right?

The point of the txn_id is that once a token gets tied (on the server) to a txn_id, the token can be invalidated so that it only works with that txn_id if that is something the server wants to do. This is really only useful if the txn_id isn't guessable, so using the user_id isn't really an option.
More concretely, some example use cases:

Having a logged in device display a QR code that encodes a token, which can be used as a one shot log in for a mobile device. The token would have a short lifetime as they would be easy to regenerate.
Getting emailed a token by a server admin after you've locked yourself out of your (corporate?) account. These would be longer lived, since its harder to get new ones.
Having a backup token stored in a safe, which never expires, as a backup. May or may not be one shot.
Using public key crypto to log in, where the token is some form of signature to verify you.

The point of the txn_id is that once a token gets tied (on the server) to a txn_id, the token can be invalidated so that it only works with that txn_id if that is something the server wants to do.

So I guess this protects against something like:

Expose a QR code as a token for Alice's account.
Alice scans the QR code.
Alice logs in using the token.
Alice leaves her computer and Bob comes along and scans the QR code.
Bob then tries to log in using the token but is rejected because the token is now "tied" to Alice's txn_id.

Is this correct? If so, it would be good to document why we need the txn_id e.g. exactly what I just quoted from you above. This still falls under the:

general purpose API that supports a lot of different token based use cases.

so I think it would be good to include.

.... Is this correct?

Yup.

so I think it would be good to include.

So something like:

The txn_id may be used by the server to disallow other devices from using the token, thus providing "single use" tokens while still allowing the device to retry the request. This would be done by tying the token to the txn_id server side, as well as potentially invalidating the token completely once the device has successfully logged in (e.g. when we receive a request from the newly provisioned access_token)

?

Maybe we should also be mandating that the token is a macaroon?

Mandating macaroons is at odds with your intent though if it is:

a general purpose API that supports a lot of different token based use cases.

I don't know the implications of the decision to enforce macaroons (e.g. implications for clients having to know they exist, implications for  to know about macaroons).

So something like:

The txn_id may be used by the server to disallow other devices from using the token, thus providing "single use" tokens while still allowing the device to retry the request. This would be done by tying the token to the txn_id server side, as well as potentially invalidating the token completely once the device has successfully logged in (e.g. when we receive a request from the newly provisioned access_token)

LGTM (and also LGTM for the PR in general after this)


Adding carthage support

Adding a shared scheme for carthage support

This is awesome! To be honest, I haven't integrated anything with Carthage before, so I'll have to do a little research to check how it works before merging. But I really appreciate this, we should definitely make sure that our project is as convenient as possible for all installation methods.
And whenever you get a second, Facebook requires all contributes to sign the CLA. Once that's signed and I do a bit of research we should be good!

Is this solved in #23 now?

yep was just commenting that!